prefect-client 3.8.6.dev4__tar.gz → 3.8.7__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.6.dev4 → prefect_client-3.8.7}/PKG-INFO +2 -2
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/pyproject.toml +1 -1
- prefect_client-3.8.7/src/prefect/_build_info.py +5 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/cancellation.py +16 -4
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/bundles/_zip_extractor.py +9 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/bundles/execute.py +21 -1
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/attribution.py +7 -1
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/flow_engine.py +32 -10
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/results.py +11 -5
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +7 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/root.py +13 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/docket.py +8 -1
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/task_engine.py +2 -1
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/math.py +5 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/templating/__init__.py +1 -1
- prefect_client-3.8.6.dev4/src/prefect/_build_info.py +0 -5
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/.gitignore +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/LICENSE +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/README.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/hatch_build.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/__main__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/_launchers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/bundles/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/bundles/execute.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/plugins/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/plugins/apply.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/plugins/manager.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/plugins/spec.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_flow_run_suspension.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/ci_detection.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/device_id.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/emit.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/enabled.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/events.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/milestones.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/notice.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/service.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/ast_utils.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/attempt_control.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/buildx.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/backports.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/blocks.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/deprecated_paths.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/starlette.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/control_listener.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/deprecated.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/engine.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/git.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/infrastructure_exit_codes.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/installation.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/launchers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/lazy.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/metrics.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/observability.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/observers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/plugins/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/plugins/apply.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/plugins/collections.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/plugins/diagnostics.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/plugins/manager.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/plugins/spec.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/plugins/startup.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/pydantic/validated_func.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/result_records.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/schema.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/schemas/_registry.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/states.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/testing.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/urls.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/uuid7.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/version_checking.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/versioning.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/waiters.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/websockets.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_sdk/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_sdk/fetcher.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_sdk/generator.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_sdk/models.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_sdk/naming.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_sdk/renderer.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_sdk/schema_converter.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_sdk/templates/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_sdk/types.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_sdk/unions.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_vendor/croniter/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_vendor/croniter/croniter.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/agent.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/analytics/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/assets/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/assets/core.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/assets/materialize.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/automations.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/blocks/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/blocks/core.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/blocks/notifications.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/bundles/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/bundles/_file_collector.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/bundles/_ignore_filter.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/bundles/_path_resolver.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/bundles/_zip_builder.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/base.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_deployments/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_events/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_events/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/schemas/actions.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/schemas/events.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/schemas/objects.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/schemas/responses.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/schemas/worker_channel.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/_asyncio.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/_leases.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/_sync.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/services.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/context.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/deployments/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/deployments/runner.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/docker/_buildx.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/engine.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/actions.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/clients.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/filters.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/related.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/schemas/automations.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/schemas/events.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/subscribers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/flow_runs.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/flows.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/futures.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/locking/_filelock.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/locking/memory.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/logging/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/logging/clients.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/logging/filters.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/main.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/plugins.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/py.typed +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_cancel_finalizer.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_cancellation_manager.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_control_channel.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_deployment_registry.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_event_emitter.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_flow_resolver.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_flow_run_executor.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_hook_runner.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_limit_manager.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_process_manager.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_scheduled_run_poller.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_starter_bundle.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_starter_direct.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_starter_engine.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_state_proposer.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_uv_command.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_workspace_hook_runner.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_workspace_resolver.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_workspace_runtime.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_workspace_runtime_bootstrap.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_workspace_starter.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/_workspace_supervisor.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/runner.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runner/storage.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/schedules.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/serializers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/_ui_static.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/background_workers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/clients.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/deployments.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/flow_runs.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/flows.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/run_history.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/task_runs.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/ui/task_runs.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/work_queues.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/server/api/workers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/_types.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/base.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/_defaults.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/events.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/plugins.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/concurrency.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/logs.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/worker_channel.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/telemetry.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/sources.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/states.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/task_runners.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/task_worker.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/tasks.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/transactions.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/types/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/types/_concurrency.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/types/_datetime.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/types/names.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/asyncutils/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/callables/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/callables/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/collections.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/engine/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/engine/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/filesystem/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/processutils/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/processutils/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/templating/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/variables.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/AGENTS.md +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/_cleanup.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/_cleanup_handlers.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/_worker_channel/__init__.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/_worker_channel/_protocol.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/_worker_channel/_state.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/_worker_channel/_sync.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/_worker_channel/_transport.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/base.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/workers/utilities.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: prefect-client
|
|
3
|
-
Version: 3.8.
|
|
3
|
+
Version: 3.8.7
|
|
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
|
|
@@ -49,7 +49,7 @@ Requires-Dist: pydantic-core<3.0.0,>=2.12.0
|
|
|
49
49
|
Requires-Dist: pydantic-extra-types<3.0.0,>=2.8.2
|
|
50
50
|
Requires-Dist: pydantic-settings<3.0.0,>=2.9.1
|
|
51
51
|
Requires-Dist: python-dateutil<3.0.0,>=2.8.2
|
|
52
|
-
Requires-Dist: python-slugify<9.
|
|
52
|
+
Requires-Dist: python-slugify<9.1,>=9
|
|
53
53
|
Requires-Dist: pytz<2027,>=2021.1
|
|
54
54
|
Requires-Dist: pyyaml<7.0.0,>=5.4.1
|
|
55
55
|
Requires-Dist: rfc3339-validator<0.2.0,>=0.1.4
|
|
@@ -53,7 +53,7 @@ dependencies = [
|
|
|
53
53
|
"pydantic_extra_types>=2.8.2,<3.0.0",
|
|
54
54
|
"pydantic_settings>=2.9.1,<3.0.0",
|
|
55
55
|
"python-dateutil>=2.8.2,<3.0.0",
|
|
56
|
-
"python-slugify>=
|
|
56
|
+
"python-slugify>=9,<9.1",
|
|
57
57
|
"pytz>=2021.1,<2027",
|
|
58
58
|
"pyyaml>=5.4.1,<7.0.0",
|
|
59
59
|
"rfc3339-validator>=0.1.4,<0.2.0",
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/cancellation.py
RENAMED
|
@@ -410,6 +410,11 @@ class WatcherThreadCancelScope(CancelScope):
|
|
|
410
410
|
def __enter__(self):
|
|
411
411
|
super().__enter__()
|
|
412
412
|
self._event = threading.Event()
|
|
413
|
+
# Serializes exception delivery with the supervised thread's exit, so the
|
|
414
|
+
# exception is never injected into a thread that has already left the scope
|
|
415
|
+
# and is running arbitrary code.
|
|
416
|
+
self._exit_lock = threading.Lock()
|
|
417
|
+
self._exited = False
|
|
413
418
|
self._enforcer_thread = None
|
|
414
419
|
self._supervised_thread = threading.current_thread()
|
|
415
420
|
|
|
@@ -428,7 +433,9 @@ class WatcherThreadCancelScope(CancelScope):
|
|
|
428
433
|
# this frame, so the event must be set from a `finally` to guarantee the
|
|
429
434
|
# enforcer is always released.
|
|
430
435
|
try:
|
|
431
|
-
|
|
436
|
+
with self._exit_lock:
|
|
437
|
+
self._exited = True
|
|
438
|
+
retval = super().__exit__(*_)
|
|
432
439
|
finally:
|
|
433
440
|
self._event.set()
|
|
434
441
|
if self._enforcer_thread:
|
|
@@ -448,7 +455,13 @@ class WatcherThreadCancelScope(CancelScope):
|
|
|
448
455
|
self,
|
|
449
456
|
self._supervised_thread,
|
|
450
457
|
)
|
|
451
|
-
|
|
458
|
+
# The shield is acquired before the exit lock: the supervised thread may
|
|
459
|
+
# exit the scope while shielded and must not wait on a lock held by a
|
|
460
|
+
# thread that is waiting for that shield.
|
|
461
|
+
with _get_thread_shield(self._supervised_thread), self._exit_lock:
|
|
462
|
+
if self._exited:
|
|
463
|
+
logger.debug("%r already exited; not sending exception", self)
|
|
464
|
+
return
|
|
452
465
|
try:
|
|
453
466
|
_send_exception_to_thread(self._supervised_thread, CancelledError)
|
|
454
467
|
except ValueError:
|
|
@@ -462,8 +475,7 @@ class WatcherThreadCancelScope(CancelScope):
|
|
|
462
475
|
if not self._event.wait(self.timeout):
|
|
463
476
|
logger.debug("%r enforcer detected timeout!", self)
|
|
464
477
|
if self.cancel(throw=False):
|
|
465
|
-
|
|
466
|
-
self._send_cancelled_error()
|
|
478
|
+
self._send_cancelled_error()
|
|
467
479
|
|
|
468
480
|
def cancel(self, throw: bool = True):
|
|
469
481
|
if not super().cancel():
|
|
@@ -113,6 +113,15 @@ class ZipExtractor:
|
|
|
113
113
|
# Extract all
|
|
114
114
|
zf.extractall(target_dir)
|
|
115
115
|
|
|
116
|
+
# `extractall` drops the archived permission bits, so executable
|
|
117
|
+
# files would arrive without their executable mode.
|
|
118
|
+
for info in zf.infolist():
|
|
119
|
+
if info.is_dir():
|
|
120
|
+
continue
|
|
121
|
+
mode = info.external_attr >> 16 & 0o7777
|
|
122
|
+
if mode:
|
|
123
|
+
(target_dir / info.filename).chmod(mode)
|
|
124
|
+
|
|
116
125
|
# Build extracted paths list
|
|
117
126
|
for member in members:
|
|
118
127
|
if not member.endswith("/"): # Skip directories
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import sys
|
|
3
|
+
from pathlib import Path
|
|
3
4
|
from typing import Any
|
|
4
5
|
|
|
6
|
+
from prefect.bundles._zip_extractor import ZipExtractor
|
|
5
7
|
from prefect.utilities.asyncutils import run_coro_as_sync
|
|
6
8
|
|
|
7
9
|
|
|
@@ -9,12 +11,30 @@ def execute_bundle_from_file(key: str) -> None:
|
|
|
9
11
|
"""
|
|
10
12
|
Loads a bundle from a file and executes it.
|
|
11
13
|
|
|
14
|
+
If the bundle declares a sidecar zip of included files, the zip is read from
|
|
15
|
+
the directory of the bundle file and its contents are extracted into the
|
|
16
|
+
working directory before the flow runs.
|
|
17
|
+
|
|
12
18
|
Args:
|
|
13
19
|
key: The key of the bundle to execute.
|
|
14
20
|
"""
|
|
15
|
-
|
|
21
|
+
bundle_path = Path(key)
|
|
22
|
+
with open(bundle_path, "r") as f:
|
|
16
23
|
bundle = json.load(f)
|
|
17
24
|
|
|
25
|
+
files_key: str | None = bundle.get("files_key")
|
|
26
|
+
if files_key:
|
|
27
|
+
sidecar_path = bundle_path.parent / files_key
|
|
28
|
+
if not sidecar_path.exists():
|
|
29
|
+
raise RuntimeError(
|
|
30
|
+
f"Bundle declares included files at {files_key!r}, but no archive"
|
|
31
|
+
f" was found at {sidecar_path}."
|
|
32
|
+
)
|
|
33
|
+
try:
|
|
34
|
+
ZipExtractor(sidecar_path).extract()
|
|
35
|
+
except Exception as e:
|
|
36
|
+
raise RuntimeError(f"Failed to extract included files: {e}") from e
|
|
37
|
+
|
|
18
38
|
run_coro_as_sync(execute_bundle(bundle))
|
|
19
39
|
|
|
20
40
|
|
|
@@ -67,4 +67,10 @@ def get_attribution_headers() -> dict[str, str]:
|
|
|
67
67
|
if deployment_name := os.environ.get("PREFECT__DEPLOYMENT_NAME"):
|
|
68
68
|
headers["X-Prefect-Deployment-Name"] = deployment_name
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
# HTTP header values cannot start or end with spaces or tabs. Normalize only
|
|
71
|
+
# the attribution values, leaving the actual flow/deployment/worker names intact.
|
|
72
|
+
return {
|
|
73
|
+
name: stripped
|
|
74
|
+
for name, value in headers.items()
|
|
75
|
+
if (stripped := value.strip(" \t"))
|
|
76
|
+
}
|
|
@@ -930,9 +930,10 @@ class FlowRunEngine(BaseFlowRunEngine[P, R]):
|
|
|
930
930
|
run, if appropriate.
|
|
931
931
|
|
|
932
932
|
If the parent task run is in a final state, we return the existing
|
|
933
|
-
subflow run
|
|
934
|
-
|
|
935
|
-
|
|
933
|
+
subflow run unless the parent is being rerun and the subflow either
|
|
934
|
+
did not complete or has no persisted result. In those cases a fresh
|
|
935
|
+
run gives the subflow its full retry budget while preserving the
|
|
936
|
+
previous run's history.
|
|
936
937
|
|
|
937
938
|
If the parent task run is in a non-final state (e.g. still Running
|
|
938
939
|
after a process restart), we also look for an existing subflow run
|
|
@@ -972,8 +973,18 @@ class FlowRunEngine(BaseFlowRunEngine[P, R]):
|
|
|
972
973
|
)
|
|
973
974
|
if flow_runs:
|
|
974
975
|
loaded_flow_run = flow_runs[0]
|
|
975
|
-
|
|
976
|
-
|
|
976
|
+
if (
|
|
977
|
+
rerunning
|
|
978
|
+
and parent_task_run.state.is_completed()
|
|
979
|
+
and loaded_flow_run.state is not None
|
|
980
|
+
and loaded_flow_run.state.is_completed()
|
|
981
|
+
and loaded_flow_run.state.data is None
|
|
982
|
+
):
|
|
983
|
+
# Without a persisted result the child must execute again. A
|
|
984
|
+
# fresh run preserves its history and restores its retry budget.
|
|
985
|
+
return None
|
|
986
|
+
|
|
987
|
+
# Keep the previous state available when reusing a finished run.
|
|
977
988
|
if parent_task_run.state.is_final():
|
|
978
989
|
self._return_value = loaded_flow_run.state
|
|
979
990
|
return loaded_flow_run
|
|
@@ -1638,9 +1649,10 @@ class AsyncFlowRunEngine(BaseFlowRunEngine[P, R]):
|
|
|
1638
1649
|
run, if appropriate.
|
|
1639
1650
|
|
|
1640
1651
|
If the parent task run is in a final state, we return the existing
|
|
1641
|
-
subflow run
|
|
1642
|
-
|
|
1643
|
-
|
|
1652
|
+
subflow run unless the parent is being rerun and the subflow either
|
|
1653
|
+
did not complete or has no persisted result. In those cases a fresh
|
|
1654
|
+
run gives the subflow its full retry budget while preserving the
|
|
1655
|
+
previous run's history.
|
|
1644
1656
|
|
|
1645
1657
|
If the parent task run is in a non-final state (e.g. still Running
|
|
1646
1658
|
after a process restart), we also look for an existing subflow run
|
|
@@ -1680,8 +1692,18 @@ class AsyncFlowRunEngine(BaseFlowRunEngine[P, R]):
|
|
|
1680
1692
|
)
|
|
1681
1693
|
if flow_runs:
|
|
1682
1694
|
loaded_flow_run = flow_runs[0]
|
|
1683
|
-
|
|
1684
|
-
|
|
1695
|
+
if (
|
|
1696
|
+
rerunning
|
|
1697
|
+
and parent_task_run.state.is_completed()
|
|
1698
|
+
and loaded_flow_run.state is not None
|
|
1699
|
+
and loaded_flow_run.state.is_completed()
|
|
1700
|
+
and loaded_flow_run.state.data is None
|
|
1701
|
+
):
|
|
1702
|
+
# Without a persisted result the child must execute again. A
|
|
1703
|
+
# fresh run preserves its history and restores its retry budget.
|
|
1704
|
+
return None
|
|
1705
|
+
|
|
1706
|
+
# Keep the previous state available when reusing a finished run.
|
|
1685
1707
|
if parent_task_run.state.is_final():
|
|
1686
1708
|
self._return_value = loaded_flow_run.state
|
|
1687
1709
|
return loaded_flow_run
|
|
@@ -486,15 +486,21 @@ class ResultStore(BaseModel):
|
|
|
486
486
|
Returns:
|
|
487
487
|
ResultRecord: The result record.
|
|
488
488
|
"""
|
|
489
|
-
if metadata.storage_block_id is None:
|
|
490
|
-
storage_block = None
|
|
491
|
-
else:
|
|
492
|
-
storage_block = await aresolve_result_storage(metadata.storage_block_id)
|
|
493
|
-
store = cls(result_storage=storage_block, serializer=metadata.serializer)
|
|
494
489
|
if metadata.storage_key is None:
|
|
495
490
|
raise ValueError(
|
|
496
491
|
"storage_key is required to hydrate a result record from metadata"
|
|
497
492
|
)
|
|
493
|
+
if metadata.storage_block_id is not None:
|
|
494
|
+
storage_block = await aresolve_result_storage(metadata.storage_block_id)
|
|
495
|
+
elif Path(metadata.storage_key).is_absolute():
|
|
496
|
+
# Results written to an unsaved local filesystem record an absolute path
|
|
497
|
+
# as the storage key, which may live outside the default local storage.
|
|
498
|
+
storage_block = LocalFileSystem(
|
|
499
|
+
basepath=str(Path(metadata.storage_key).parent)
|
|
500
|
+
)
|
|
501
|
+
else:
|
|
502
|
+
storage_block = None
|
|
503
|
+
store = cls(result_storage=storage_block, serializer=metadata.serializer)
|
|
498
504
|
result = await store.aread(metadata.storage_key)
|
|
499
505
|
return result
|
|
500
506
|
|
|
@@ -760,6 +760,7 @@
|
|
|
760
760
|
"auto_remove": "{{ auto_remove }}",
|
|
761
761
|
"volumes": "{{ volumes }}",
|
|
762
762
|
"stream_output": "{{ stream_output }}",
|
|
763
|
+
"container_wait_timeout": "{{ container_wait_timeout }}",
|
|
763
764
|
"mem_limit": "{{ mem_limit }}",
|
|
764
765
|
"memswap_limit": "{{ memswap_limit }}",
|
|
765
766
|
"privileged": "{{ privileged }}"
|
|
@@ -856,6 +857,12 @@
|
|
|
856
857
|
"default": true,
|
|
857
858
|
"type": "boolean"
|
|
858
859
|
},
|
|
860
|
+
"container_wait_timeout": {
|
|
861
|
+
"title": "Container Wait Timeout",
|
|
862
|
+
"description": "Maximum number of seconds the worker waits for a created container to exit. If the container has not exited within this time, the worker stops watching it; the container itself is not stopped. If not set, the worker waits indefinitely.",
|
|
863
|
+
"exclusiveMinimum": 0,
|
|
864
|
+
"type": "integer"
|
|
865
|
+
},
|
|
859
866
|
"mem_limit": {
|
|
860
867
|
"title": "Memory Limit",
|
|
861
868
|
"description": "Memory limit of created containers. Accepts a value with a unit identifier (e.g. 100000b, 1000k, 128m, 1g.) If a value is given without a unit, bytes are assumed.",
|
|
@@ -279,6 +279,19 @@ class Settings(PrefectBaseSettings):
|
|
|
279
279
|
to use default_factory. The remaining items here require access to the full Settings instance
|
|
280
280
|
or have complex interdependencies that will be migrated in future PRs.
|
|
281
281
|
"""
|
|
282
|
+
if "profiles_path" not in self.model_fields_set:
|
|
283
|
+
self.profiles_path = self.home / "profiles.toml"
|
|
284
|
+
self.__pydantic_fields_set__.remove("profiles_path")
|
|
285
|
+
if "local_storage_path" not in self.results.model_fields_set:
|
|
286
|
+
self.results.local_storage_path = self.home / "storage"
|
|
287
|
+
self.results.__pydantic_fields_set__.remove("local_storage_path")
|
|
288
|
+
if "config_path" not in self.logging.model_fields_set:
|
|
289
|
+
self.logging.config_path = self.home / "logging.yml"
|
|
290
|
+
self.logging.__pydantic_fields_set__.remove("config_path")
|
|
291
|
+
if "memo_store_path" not in self.server.model_fields_set:
|
|
292
|
+
self.server.memo_store_path = self.home / "memo_store.toml"
|
|
293
|
+
self.server.__pydantic_fields_set__.remove("memo_store_path")
|
|
294
|
+
|
|
282
295
|
if self.ui_url is None:
|
|
283
296
|
self.ui_url = default_ui_url(self)
|
|
284
297
|
self.__pydantic_fields_set__.remove("ui_url")
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/settings/models/server/docket.py
RENAMED
|
@@ -22,5 +22,12 @@ class ServerDocketSettings(PrefectBaseSettings):
|
|
|
22
22
|
|
|
23
23
|
url: str = Field(
|
|
24
24
|
default="memory://",
|
|
25
|
-
description=
|
|
25
|
+
description=(
|
|
26
|
+
"The URL of the Redis server to use for Docket. Supports the "
|
|
27
|
+
"memory:// (single-server only), redis://, rediss://, "
|
|
28
|
+
"redis+sentinel:// and rediss+sentinel:// schemes; the Sentinel "
|
|
29
|
+
"schemes discover the current master through the listed Sentinel "
|
|
30
|
+
"daemons and follow failover automatically (requires "
|
|
31
|
+
"pydocket>=0.23.1)."
|
|
32
|
+
),
|
|
26
33
|
)
|
|
@@ -721,7 +721,7 @@ class SyncTaskRunEngine(BaseTaskRunEngine[P, R]):
|
|
|
721
721
|
exc,
|
|
722
722
|
message="Task run encountered an exception",
|
|
723
723
|
result_store=get_result_store(),
|
|
724
|
-
write_result=
|
|
724
|
+
write_result=should_persist_result(),
|
|
725
725
|
)
|
|
726
726
|
self.set_state(state)
|
|
727
727
|
self._raised = exc
|
|
@@ -1348,6 +1348,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
|
|
|
1348
1348
|
exc,
|
|
1349
1349
|
message="Task run encountered an exception",
|
|
1350
1350
|
result_store=get_result_store(),
|
|
1351
|
+
write_result=should_persist_result(),
|
|
1351
1352
|
)
|
|
1352
1353
|
await self.set_state(state)
|
|
1353
1354
|
self._raised = exc
|
|
@@ -48,10 +48,15 @@ def clamped_poisson_interval(
|
|
|
48
48
|
|
|
49
49
|
The upper bound for this random variate is: average_interval * (1 + clamping_factor).
|
|
50
50
|
A lower bound is picked so that the average interval remains approximately fixed.
|
|
51
|
+
|
|
52
|
+
An `average_interval` of zero (or less) yields an interval of `0.0`.
|
|
51
53
|
"""
|
|
52
54
|
if clamping_factor <= 0:
|
|
53
55
|
raise ValueError("`clamping_factor` must be >= 0.")
|
|
54
56
|
|
|
57
|
+
if average_interval <= 0:
|
|
58
|
+
return 0.0
|
|
59
|
+
|
|
55
60
|
upper_clamp_multiple = 1 + clamping_factor
|
|
56
61
|
upper_bound = average_interval * upper_clamp_multiple
|
|
57
62
|
lower_bound = max(0, average_interval * lower_clamp_multiple(upper_clamp_multiple))
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/utilities/templating/__init__.py
RENAMED
|
@@ -83,7 +83,7 @@ def find_placeholders(template: T) -> set[Placeholder]:
|
|
|
83
83
|
A set of all placeholders in the template
|
|
84
84
|
"""
|
|
85
85
|
seed: set[Placeholder] = set()
|
|
86
|
-
if isinstance(template, (int, float, bool)):
|
|
86
|
+
if template is None or isinstance(template, (int, float, bool)):
|
|
87
87
|
return seed
|
|
88
88
|
if isinstance(template, str):
|
|
89
89
|
result = PLACEHOLDER_CAPTURE_REGEX.findall(template)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/bundles/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/bundles/execute.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/plugins/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/plugins/apply.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/plugins/diagnostics.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/plugins/manager.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/plugins/spec.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_experimental/sla/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/ci_detection.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/client.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/device_id.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/enabled.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/events.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/milestones.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/notice.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/analytics/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/backports.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/blocks.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/deprecated.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/migration.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/compatibility/starlette.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/calls.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/event_loop.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/inspection.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/primitives.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/services.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/threads.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/concurrency/waiters.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/control_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/plugins/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/plugins/collections.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/plugins/diagnostics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/pydantic/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/pydantic/schemas.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/pydantic/v1_schema.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/pydantic/v2_schema.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/pydantic/validated_func.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/schemas/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/schemas/_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/schemas/serializers.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/schemas/validators.py
RENAMED
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/send_entrypoint_logs.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.6.dev4 → prefect_client-3.8.7}/src/prefect/_internal/version_checking.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|