prefect-client 3.8.2.dev5__tar.gz → 3.8.3.dev1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/PKG-INFO +2 -2
- prefect_client-3.8.3.dev1/src/prefect/_build_info.py +5 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/services.py +13 -2
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_work_pools/client.py +2 -2
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/schemas/objects.py +1 -1
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/_asyncio.py +26 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/services.py +84 -2
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/context.py +1 -1
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/clients.py +0 -1
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/flows.py +3 -3
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/infrastructure/provisioners/container_instance.py +1 -1
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/storage.py +2 -2
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/tasks.py +0 -8
- prefect_client-3.8.2.dev5/src/prefect/_build_info.py +0 -5
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/.gitignore +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/LICENSE +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/README.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/hatch_build.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/pyproject.toml +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/__main__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/_launchers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/bundles/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/bundles/execute.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/plugins/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/plugins/apply.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/plugins/manager.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/plugins/spec.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_flow_run_suspension.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/ci_detection.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/device_id.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/emit.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/enabled.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/events.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/milestones.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/notice.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/service.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/ast_utils.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/buildx.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/compatibility/backports.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/compatibility/blocks.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/compatibility/deprecated_paths.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/compatibility/starlette.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/control_listener.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/deprecated.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/engine.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/git.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/infrastructure_exit_codes.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/installation.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/launchers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/lazy.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/metrics.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/observability.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/observers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/apply.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/collections.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/diagnostics.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/manager.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/spec.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/startup.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/pydantic/validated_func.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/result_records.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schema.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/_registry.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/states.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/testing.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/urls.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/uuid7.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/version_checking.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/versioning.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/waiters.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/websockets.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/fetcher.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/generator.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/models.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/naming.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/renderer.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/schema_converter.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/templates/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/types.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/unions.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_vendor/croniter/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_vendor/croniter/croniter.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/agent.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/analytics/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/assets/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/assets/core.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/assets/materialize.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/automations.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/blocks/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/blocks/core.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/blocks/notifications.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/bundles/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/bundles/_file_collector.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/bundles/_ignore_filter.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/bundles/_path_resolver.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/bundles/_zip_builder.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/bundles/_zip_extractor.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/bundles/execute.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/attribution.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/base.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_deployments/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_events/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_events/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/schemas/actions.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/schemas/events.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/schemas/responses.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/schemas/worker_channel.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/_leases.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/_sync.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/deployments/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/deployments/runner.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/docker/_buildx.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/engine.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/actions.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/filters.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/related.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/schemas/automations.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/schemas/events.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/subscribers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/flow_engine.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/flow_runs.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/futures.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/locking/_filelock.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/locking/memory.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/logging/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/logging/clients.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/logging/filters.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/main.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/plugins.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/py.typed +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/results.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_cancel_finalizer.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_cancellation_manager.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_control_channel.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_deployment_registry.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_event_emitter.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_flow_resolver.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_flow_run_executor.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_hook_runner.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_limit_manager.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_process_manager.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_scheduled_run_poller.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_starter_bundle.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_starter_direct.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_starter_engine.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_state_proposer.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_workspace_resolver.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/_workspace_starter.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/runner.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/schedules.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/serializers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/_ui_static.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/background_workers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/clients.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/deployments.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/flow_runs.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/flows.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/run_history.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/task_runs.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/ui/task_runs.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/work_queues.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/server/api/workers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/_types.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/base.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/_defaults.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/events.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/plugins.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/root.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/concurrency.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/docket.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/logs.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/server/worker_channel.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/telemetry.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/settings/sources.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/states.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/task_engine.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/task_runners.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/task_worker.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/transactions.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/types/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/types/_concurrency.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/types/_datetime.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/types/names.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/asyncutils/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/callables/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/callables/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/collections.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/engine/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/engine/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/filesystem/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/math.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/processutils/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/processutils/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/templating/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/templating/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/variables.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/AGENTS.md +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/_cleanup.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/_cleanup_handlers.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/_worker_channel/__init__.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/_worker_channel/_protocol.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/_worker_channel/_state.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/_worker_channel/_sync.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/_worker_channel/_transport.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/base.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/workers/utilities.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: prefect-client
|
|
3
|
-
Version: 3.8.
|
|
3
|
+
Version: 3.8.3.dev1
|
|
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
|
|
@@ -408,10 +408,21 @@ class FutureQueueService(
|
|
|
408
408
|
# If the request to the increment endpoint fails in a non-standard
|
|
409
409
|
# way, we need to set the future's result so it'll be re-raised in
|
|
410
410
|
# the context of the caller.
|
|
411
|
-
future.
|
|
411
|
+
if future.set_running_or_notify_cancel():
|
|
412
|
+
future.set_exception(exc)
|
|
412
413
|
raise exc
|
|
413
414
|
else:
|
|
414
|
-
future
|
|
415
|
+
# Transitioning the future to running before setting its result closes
|
|
416
|
+
# the window where the caller cancels it while `acquire` is in flight:
|
|
417
|
+
# after this point `cancel()` fails, and if the caller got there first
|
|
418
|
+
# the acquired resource is nobody's and must be discarded.
|
|
419
|
+
if future.set_running_or_notify_cancel():
|
|
420
|
+
future.set_result(response)
|
|
421
|
+
else:
|
|
422
|
+
await self._discard(response)
|
|
423
|
+
|
|
424
|
+
async def _discard(self, response: R) -> None:
|
|
425
|
+
"""Dispose of a result whose caller is no longer waiting for it."""
|
|
415
426
|
|
|
416
427
|
@abc.abstractmethod
|
|
417
428
|
async def acquire(self, *args: Unpack[Ts]) -> R:
|
|
@@ -48,7 +48,7 @@ class WorkPoolClient(BaseClient):
|
|
|
48
48
|
Args:
|
|
49
49
|
work_pool_name: The name of the work pool to heartbeat against.
|
|
50
50
|
worker_name: The name of the worker sending the heartbeat.
|
|
51
|
-
|
|
51
|
+
get_worker_id: Whether to return the worker ID. Note: will return `None` if the connected server does not support returning worker IDs, even if `get_worker_id` is `True`.
|
|
52
52
|
worker_metadata: Metadata about the worker to send to the server.
|
|
53
53
|
"""
|
|
54
54
|
from uuid import UUID
|
|
@@ -376,7 +376,7 @@ class WorkPoolAsyncClient(BaseAsyncClient):
|
|
|
376
376
|
Args:
|
|
377
377
|
work_pool_name: The name of the work pool to heartbeat against.
|
|
378
378
|
worker_name: The name of the worker sending the heartbeat.
|
|
379
|
-
|
|
379
|
+
get_worker_id: Whether to return the worker ID. Note: will return `None` if the connected server does not support returning worker IDs, even if `get_worker_id` is `True`.
|
|
380
380
|
worker_metadata: Metadata about the worker to send to the server.
|
|
381
381
|
"""
|
|
382
382
|
from uuid import UUID
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/client/schemas/objects.py
RENAMED
|
@@ -1477,7 +1477,7 @@ class WorkQueueHealthPolicy(PrefectBaseModel):
|
|
|
1477
1477
|
Given empirical information about the state of the work queue, evaluate its health status.
|
|
1478
1478
|
|
|
1479
1479
|
Args:
|
|
1480
|
-
|
|
1480
|
+
late_runs_count: the count of late runs for the work queue.
|
|
1481
1481
|
last_polled: the last time the work queue was polled, if available.
|
|
1482
1482
|
|
|
1483
1483
|
Returns:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import asyncio
|
|
4
|
+
import concurrent.futures
|
|
4
5
|
import logging
|
|
5
6
|
from contextlib import asynccontextmanager
|
|
6
7
|
from typing import TYPE_CHECKING, AsyncGenerator, Literal, Optional
|
|
@@ -150,6 +151,9 @@ async def aacquire_concurrency_slots_with_lease(
|
|
|
150
151
|
)
|
|
151
152
|
try:
|
|
152
153
|
response = await asyncio.wrap_future(future)
|
|
154
|
+
except asyncio.CancelledError:
|
|
155
|
+
_release_lease_when_granted(service, future)
|
|
156
|
+
raise
|
|
153
157
|
except TimeoutError as timeout:
|
|
154
158
|
raise AcquireConcurrencySlotTimeoutError(
|
|
155
159
|
f"Attempt to acquire concurrency slots timed out after {timeout_seconds} second(s)"
|
|
@@ -225,6 +229,28 @@ def _discard_cleanup_lease(lease_id: UUID) -> None:
|
|
|
225
229
|
ctx.cleanup_lease_ids.remove(lease_id)
|
|
226
230
|
|
|
227
231
|
|
|
232
|
+
def _release_lease_when_granted(
|
|
233
|
+
service: ConcurrencySlotAcquisitionWithLeaseService,
|
|
234
|
+
future: "concurrent.futures.Future[httpx.Response]",
|
|
235
|
+
) -> None:
|
|
236
|
+
"""Release the lease for an acquisition whose caller has been cancelled.
|
|
237
|
+
|
|
238
|
+
The acquisition may still be granted after the caller is gone, and the lease
|
|
239
|
+
id never reaches the `ConcurrencyContext`, so the slots would stay occupied
|
|
240
|
+
until the lease expires. The cancelled caller cannot do the release itself, so
|
|
241
|
+
the service that acquired the slots is asked to release them.
|
|
242
|
+
"""
|
|
243
|
+
|
|
244
|
+
def _release(completed: "concurrent.futures.Future[httpx.Response]") -> None:
|
|
245
|
+
if completed.cancelled() or completed.exception() is not None:
|
|
246
|
+
# Nothing was granted, so there is nothing to release.
|
|
247
|
+
return
|
|
248
|
+
|
|
249
|
+
service.release_orphaned_lease(completed.result())
|
|
250
|
+
|
|
251
|
+
future.add_done_callback(_release)
|
|
252
|
+
|
|
253
|
+
|
|
228
254
|
def _response_to_minimal_concurrency_limit_response(
|
|
229
255
|
response: httpx.Response,
|
|
230
256
|
) -> list[MinimalConcurrencyLimitResponse]:
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
+
import concurrent.futures
|
|
2
3
|
import json
|
|
3
4
|
from collections.abc import AsyncGenerator
|
|
4
5
|
from contextlib import asynccontextmanager
|
|
5
6
|
from threading import Lock
|
|
6
7
|
from typing import TYPE_CHECKING, Literal, Optional
|
|
7
|
-
from uuid import uuid4
|
|
8
|
+
from uuid import UUID, uuid4
|
|
8
9
|
|
|
9
10
|
import cachetools
|
|
10
11
|
import httpx
|
|
@@ -104,12 +105,25 @@ class ConcurrencySlotAcquisitionWithLeaseService(
|
|
|
104
105
|
super().__init__(concurrency_limit_names)
|
|
105
106
|
self._client: PrefectClient
|
|
106
107
|
self.concurrency_limit_names: list[str] = sorted(list(concurrency_limit_names))
|
|
108
|
+
self._pending_releases: set[concurrent.futures.Future[None]] = set()
|
|
107
109
|
|
|
108
110
|
@asynccontextmanager
|
|
109
111
|
async def _lifespan(self) -> AsyncGenerator[None, None]:
|
|
110
112
|
async with get_client() as client:
|
|
111
113
|
self._client = client
|
|
112
|
-
|
|
114
|
+
try:
|
|
115
|
+
yield
|
|
116
|
+
finally:
|
|
117
|
+
# The client closes when this exits, so releases scheduled by
|
|
118
|
+
# cancelled callers have to finish first or their slots leak.
|
|
119
|
+
if self._pending_releases:
|
|
120
|
+
await asyncio.gather(
|
|
121
|
+
*(
|
|
122
|
+
asyncio.wrap_future(release)
|
|
123
|
+
for release in tuple(self._pending_releases)
|
|
124
|
+
),
|
|
125
|
+
return_exceptions=True,
|
|
126
|
+
)
|
|
113
127
|
|
|
114
128
|
async def acquire(
|
|
115
129
|
self,
|
|
@@ -185,6 +199,74 @@ class ConcurrencySlotAcquisitionWithLeaseService(
|
|
|
185
199
|
if max_retries is not None:
|
|
186
200
|
max_retries -= 1
|
|
187
201
|
|
|
202
|
+
async def _discard(self, response: httpx.Response) -> None:
|
|
203
|
+
"""Release a lease granted to a caller that was cancelled while waiting.
|
|
204
|
+
|
|
205
|
+
Without this the slots stay occupied until the lease expires, because the
|
|
206
|
+
caller never learns the lease id and so cannot record it for cleanup.
|
|
207
|
+
"""
|
|
208
|
+
lease_id = self._lease_id_from_response(response)
|
|
209
|
+
if lease_id is None:
|
|
210
|
+
return
|
|
211
|
+
|
|
212
|
+
try:
|
|
213
|
+
await self._client.release_concurrency_slots_with_lease(lease_id=lease_id)
|
|
214
|
+
except Exception:
|
|
215
|
+
logger.warning(
|
|
216
|
+
f"Failed to release concurrency lease {lease_id} for "
|
|
217
|
+
f"{self.concurrency_limit_names} after the acquiring caller was cancelled",
|
|
218
|
+
exc_info=True,
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
def release_orphaned_lease(
|
|
222
|
+
self, response: httpx.Response
|
|
223
|
+
) -> "concurrent.futures.Future[None]":
|
|
224
|
+
"""Release a lease that was delivered to a caller which is already gone.
|
|
225
|
+
|
|
226
|
+
The release is scheduled on the service's own loop so it reuses the client
|
|
227
|
+
that acquired the slots, keeping acquisition and cleanup on the same API, and
|
|
228
|
+
is tracked so that draining the service waits for it.
|
|
229
|
+
"""
|
|
230
|
+
with self._lock:
|
|
231
|
+
loop = self._loop
|
|
232
|
+
if self._stopped or loop is None or loop.is_closed():
|
|
233
|
+
logger.warning(
|
|
234
|
+
f"Unable to release concurrency lease for {self.concurrency_limit_names} "
|
|
235
|
+
"after the acquiring caller was cancelled: the acquisition service is "
|
|
236
|
+
"no longer running. The slots remain occupied until the lease expires."
|
|
237
|
+
)
|
|
238
|
+
stopped: concurrent.futures.Future[None] = concurrent.futures.Future()
|
|
239
|
+
stopped.set_result(None)
|
|
240
|
+
return stopped
|
|
241
|
+
|
|
242
|
+
# Registering under the lock `_stop` uses keeps the service from
|
|
243
|
+
# finishing its lifespan, and closing its client, before this release.
|
|
244
|
+
release = asyncio.run_coroutine_threadsafe(self._discard(response), loop)
|
|
245
|
+
self._pending_releases.add(release)
|
|
246
|
+
|
|
247
|
+
release.add_done_callback(self._pending_releases.discard)
|
|
248
|
+
return release
|
|
249
|
+
|
|
250
|
+
def _lease_id_from_response(self, response: httpx.Response) -> Optional[UUID]:
|
|
251
|
+
"""Read the lease id out of a successful acquisition response.
|
|
252
|
+
|
|
253
|
+
Returns `None` when no slots were acquired, and logs when the response is
|
|
254
|
+
malformed, since that leaves a possibly active lease we cannot release.
|
|
255
|
+
"""
|
|
256
|
+
try:
|
|
257
|
+
data = response.json()
|
|
258
|
+
if not data.get("limits"):
|
|
259
|
+
return None
|
|
260
|
+
return UUID(data["lease_id"])
|
|
261
|
+
except Exception:
|
|
262
|
+
logger.warning(
|
|
263
|
+
f"Unable to read the lease id from the acquisition response for "
|
|
264
|
+
f"{self.concurrency_limit_names}; if a lease was granted its slots "
|
|
265
|
+
"remain occupied until it expires.",
|
|
266
|
+
exc_info=True,
|
|
267
|
+
)
|
|
268
|
+
return None
|
|
269
|
+
|
|
188
270
|
|
|
189
271
|
def _should_use_cache(
|
|
190
272
|
names: list[str], holder: Optional["ConcurrencyLeaseHolder"]
|
|
@@ -994,7 +994,7 @@ def use_profile(
|
|
|
994
994
|
|
|
995
995
|
Args:
|
|
996
996
|
profile: The name of the profile to load or an instance of a Profile.
|
|
997
|
-
|
|
997
|
+
override_environment_variables: If set, variables in the profile will take
|
|
998
998
|
precedence over current environment variables. By default, environment
|
|
999
999
|
variables will override profile settings.
|
|
1000
1000
|
include_current_context: If set, the new settings will be constructed
|
|
@@ -718,7 +718,6 @@ class PrefectEventSubscriber:
|
|
|
718
718
|
"""
|
|
719
719
|
Args:
|
|
720
720
|
api_url: The base URL for a Prefect Cloud workspace
|
|
721
|
-
api_key: The API of an actor with the manage_events scope
|
|
722
721
|
reconnection_attempts: When the client is disconnected, how many times
|
|
723
722
|
the client should attempt to reconnect
|
|
724
723
|
reconnect_on_clean_close: Whether to reconnect when the server closes
|
|
@@ -1507,7 +1507,7 @@ class Flow(Generic[P, R]):
|
|
|
1507
1507
|
parameter schema for the created deployment.
|
|
1508
1508
|
entrypoint_type: Type of entrypoint to use for the deployment. When using a module path
|
|
1509
1509
|
entrypoint, ensure that the module will be importable in the execution environment.
|
|
1510
|
-
|
|
1510
|
+
print_next_steps: Whether or not to print a message with next steps
|
|
1511
1511
|
after deploying the deployments.
|
|
1512
1512
|
ignore_warnings: Whether or not to ignore warnings about the work pool type.
|
|
1513
1513
|
_sla: (Experimental) SLA configuration for the deployment. May be removed or modified at any time. Currently only supported on Prefect Cloud.
|
|
@@ -1705,7 +1705,7 @@ class Flow(Generic[P, R]):
|
|
|
1705
1705
|
parameter schema for the created deployment.
|
|
1706
1706
|
entrypoint_type: Type of entrypoint to use for the deployment. When using a module path
|
|
1707
1707
|
entrypoint, ensure that the module will be importable in the execution environment.
|
|
1708
|
-
|
|
1708
|
+
print_next_steps: Whether or not to print a message with next steps
|
|
1709
1709
|
after deploying the deployments.
|
|
1710
1710
|
ignore_warnings: Whether or not to ignore warnings about the work pool type.
|
|
1711
1711
|
_sla: (Experimental) SLA configuration for the deployment. May be removed or modified at any time. Currently only supported on Prefect Cloud.
|
|
@@ -2562,7 +2562,6 @@ class InfrastructureBoundFlow(Flow[P, R]):
|
|
|
2562
2562
|
|
|
2563
2563
|
Args:
|
|
2564
2564
|
flow_run: The existing flow run to retry
|
|
2565
|
-
return_state: If True, return the final state instead of the result
|
|
2566
2565
|
|
|
2567
2566
|
Returns:
|
|
2568
2567
|
The flow result or final state
|
|
@@ -3135,6 +3134,7 @@ async def aserve(
|
|
|
3135
3134
|
|
|
3136
3135
|
if __name__ == "__main__":
|
|
3137
3136
|
asyncio.run(main())
|
|
3137
|
+
```
|
|
3138
3138
|
"""
|
|
3139
3139
|
|
|
3140
3140
|
from prefect.runner import Runner
|
|
@@ -592,7 +592,7 @@ class ContainerInstancePushProvisioner:
|
|
|
592
592
|
Logs into the given Azure Container Registry.
|
|
593
593
|
|
|
594
594
|
Args:
|
|
595
|
-
|
|
595
|
+
login_server: The login server of the registry to log into.
|
|
596
596
|
|
|
597
597
|
Raises:
|
|
598
598
|
subprocess.CalledProcessError: If the Azure CLI command execution fails.
|
|
@@ -931,7 +931,7 @@ class LocalStorage:
|
|
|
931
931
|
"""
|
|
932
932
|
Sets the working directory in the local filesystem.
|
|
933
933
|
Parameters:
|
|
934
|
-
|
|
934
|
+
path: Local file path to set the working directory for the flow
|
|
935
935
|
Examples:
|
|
936
936
|
Sets the working directory for the local path to the flow:
|
|
937
937
|
```python
|
|
@@ -996,7 +996,7 @@ def create_storage_from_source(
|
|
|
996
996
|
Creates a storage object from a URL.
|
|
997
997
|
|
|
998
998
|
Args:
|
|
999
|
-
|
|
999
|
+
source: The URL to create a storage object from. Supports git and `fsspec`
|
|
1000
1000
|
URLs.
|
|
1001
1001
|
pull_interval: The interval at which to pull contents from remote storage to
|
|
1002
1002
|
local storage
|
|
@@ -1829,10 +1829,6 @@ class Task(Generic[P, R]):
|
|
|
1829
1829
|
|
|
1830
1830
|
This is the async version of serve().
|
|
1831
1831
|
|
|
1832
|
-
Args:
|
|
1833
|
-
task_runner: The task runner to use for serving the task. If not provided,
|
|
1834
|
-
the default task runner will be used.
|
|
1835
|
-
|
|
1836
1832
|
Examples:
|
|
1837
1833
|
Serve a task using the default task runner in an async context
|
|
1838
1834
|
```python
|
|
@@ -1853,10 +1849,6 @@ class Task(Generic[P, R]):
|
|
|
1853
1849
|
establish a websocket connection with the Prefect server and listen for
|
|
1854
1850
|
submitted task runs to execute.
|
|
1855
1851
|
|
|
1856
|
-
Args:
|
|
1857
|
-
task_runner: The task runner to use for serving the task. If not provided,
|
|
1858
|
-
the default task runner will be used.
|
|
1859
|
-
|
|
1860
1852
|
Examples:
|
|
1861
1853
|
Serve a task using the default task runner
|
|
1862
1854
|
```python
|
|
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.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/_launchers.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/bundles/execute.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/plugins/apply.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/plugins/manager.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/plugins/spec.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/sla/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/sla/client.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_experimental/sla/objects.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/client.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/device_id.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/emit.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/enabled.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/events.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/notice.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/analytics/service.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.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/api.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/calls.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/threads.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/concurrency/waiters.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/control_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/installation.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/integrations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/observability.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/apply.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/collections.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/diagnostics.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/manager.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/spec.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/plugins/startup.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/pydantic/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/pydantic/schemas.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/pydantic/v1_schema.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/pydantic/v2_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/result_records.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/_registry.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/bases.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/fields.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/serializers.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/schemas/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_internal/version_checking.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/schema_converter.py
RENAMED
|
File without changes
|
{prefect_client-3.8.2.dev5 → prefect_client-3.8.3.dev1}/src/prefect/_sdk/templates/__init__.py
RENAMED
|
File without changes
|