prefect-client 3.7.1.dev8__tar.gz → 3.7.2.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.7.1.dev8 → prefect_client-3.7.2.dev1}/PKG-INFO +1 -1
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/AGENTS.md +1 -1
- prefect_client-3.7.2.dev1/src/prefect/_build_info.py +5 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/flow_engine.py +64 -44
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_scheduled_run_poller.py +4 -7
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/runner.py +5 -7
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/types/_datetime.py +30 -1
- prefect_client-3.7.1.dev8/src/prefect/_build_info.py +0 -5
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/.gitignore +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/LICENSE +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/README.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/hatch_build.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/pyproject.toml +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/__main__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/_launchers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/bundles/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/bundles/execute.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/plugins/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/plugins/apply.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/plugins/manager.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/plugins/spec.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_flow_run_suspension.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/ci_detection.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/device_id.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/emit.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/enabled.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/events.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/milestones.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/notice.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/service.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/ast_utils.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/buildx.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/compatibility/backports.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/compatibility/blocks.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/compatibility/deprecated_paths.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/compatibility/starlette.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/control_listener.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/deprecated.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/engine.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/git.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/infrastructure_exit_codes.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/installation.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/launchers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/lazy.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/metrics.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/observability.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/observers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/apply.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/collections.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/diagnostics.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/manager.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/spec.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/startup.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/pydantic/validated_func.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/result_records.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/schema.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/states.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/testing.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/urls.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/uuid7.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/version_checking.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/versioning.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/waiters.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/websockets.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/fetcher.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/generator.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/models.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/naming.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/renderer.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/schema_converter.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/templates/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/types.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/unions.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_vendor/croniter/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_vendor/croniter/croniter.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/agent.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/analytics/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/assets/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/assets/core.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/assets/materialize.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/automations.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/blocks/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/blocks/core.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/blocks/notifications.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/bundles/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/bundles/_file_collector.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/bundles/_ignore_filter.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/bundles/_path_resolver.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/bundles/_zip_builder.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/bundles/_zip_extractor.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/bundles/execute.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/attribution.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/base.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_deployments/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_events/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_events/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/schemas/actions.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/schemas/events.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/schemas/objects.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/schemas/responses.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/schemas/worker_channel.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/_asyncio.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/_leases.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/_sync.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/services.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/context.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/deployments/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/deployments/runner.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/docker/_buildx.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/engine.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/actions.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/clients.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/filters.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/related.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/schemas/automations.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/schemas/events.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/subscribers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/flow_runs.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/flows.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/futures.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/locking/_filelock.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/locking/memory.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/logging/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/logging/clients.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/logging/filters.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/main.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/plugins.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/py.typed +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/results.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_cancel_finalizer.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_cancellation_manager.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_control_channel.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_deployment_registry.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_event_emitter.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_flow_resolver.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_flow_run_executor.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_hook_runner.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_limit_manager.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_process_manager.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_starter_bundle.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_starter_direct.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_starter_engine.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_state_proposer.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_workspace_resolver.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_workspace_starter.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/storage.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/schedules.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/serializers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/background_workers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/clients.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/deployments.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/flow_runs.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/flows.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/run_history.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/task_runs.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/ui/task_runs.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/work_queues.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/server/api/workers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/base.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/_defaults.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/events.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/plugins.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/root.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/concurrency.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/docket.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/logs.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/telemetry.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/settings/sources.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/states.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/task_engine.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/task_runners.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/task_worker.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/tasks.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/transactions.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/types/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/types/_concurrency.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/types/names.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/asyncutils/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/callables/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/callables/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/collections.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/engine/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/engine/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/filesystem/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/math.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/processutils/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/processutils/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/templating/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/templating/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/variables.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/AGENTS.md +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/_cleanup.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/_cleanup_handlers.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/_worker_channel/__init__.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/_worker_channel/_protocol.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/_worker_channel/_state.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/_worker_channel/_sync.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/_worker_channel/_transport.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/base.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/workers/utilities.py +0 -0
|
@@ -23,7 +23,7 @@ There is no formal public/private boundary beyond the `_` prefix convention. Mod
|
|
|
23
23
|
- **Engine ordering matters.** The engines apply features (retries, caching, result persistence, transactions) in a specific order. Changing the order or forgetting a feature in one engine path is the most common source of breakage.
|
|
24
24
|
- **Set run metadata before state transitions.** Any run attribute that event subscribers observe at the moment of a state transition (e.g., custom `flow_run_name`) must be persisted to the server *before* `set_state()` is called for that transition. Metadata set after the call appears stale to subscribers of that state event.
|
|
25
25
|
- **Sync and async must stay in sync.** Both `flow_engine.py` and `task_engine.py` have sync and async paths. Any behavior change must be applied to both.
|
|
26
|
-
- **Use `whenever` compat helpers for all datetime conversions on Python 3.13+.** `types/_datetime.py` provides `now()`, `_whenever_to_stdlib()`, `_whenever_zdt_from_py()`, and `_whenever_pdt_from_py()` to abstract over API differences between whenever 0.7.x–0.9.x and ≥ 0.10.0. The `_WHENEVER_NEW_API` flag (True when whenever ≥ 0.10.0) guards version-specific code. Never call `DateTime.now()` or `pendulum.now()` directly — use `now()` from `types/_datetime.py` instead. Never call `ZonedDateTime.from_py_datetime()`, `PlainDateTime.from_py_datetime()`, or `.py_datetime()` directly — use the helpers instead. Violations will silently break on whichever whenever version the helpers weren't written for.
|
|
26
|
+
- **Use `whenever` compat helpers for all datetime conversions on Python 3.13+.** `types/_datetime.py` provides `now()`, `_whenever_to_stdlib()`, `_whenever_zdt_from_py()`, and `_whenever_pdt_from_py()` to abstract over API differences between whenever 0.7.x–0.9.x and ≥ 0.10.0. The `_WHENEVER_NEW_API` flag (True when whenever ≥ 0.10.0) guards version-specific code. Never call `DateTime.now()` or `pendulum.now()` directly — use `now()` from `types/_datetime.py` instead. Avoid no-argument `datetime.datetime.now()` because it returns a tz-naive datetime that raises `TypeError` when compared to the tz-aware datetimes produced by `now()`. Explicitly timezone-aware stdlib calls such as `datetime.now(ZoneInfo("UTC"))` are allowed when needed to preserve timezone information. Never call `ZonedDateTime.from_py_datetime()`, `PlainDateTime.from_py_datetime()`, or `.py_datetime()` directly — use the helpers instead. Violations will silently break on whichever whenever version the helpers weren't written for.
|
|
27
27
|
- **Flow and task engines advance state differently.** The flow engine makes blocking API calls to the server to propose and advance states. The task engine emits `prefect.task_run.*` events (delivered via WebSockets) but advances state locally through `set_state` calls with polling/backoff — do not assume the two engines work the same way.
|
|
28
28
|
- **Flow state transitions go through the server.** The flow engine proposes states to the server, which accepts or rejects them via orchestration rules. The task engine, by contrast, manages state transitions locally via `set_state` and emits `prefect.task_run.*` events — it does not propose states to the server.
|
|
29
29
|
- **`ProcessPoolTaskRunner` requires picklable data across subprocess boundaries.** `PrefectFuture` objects are not picklable and cannot be passed to worker subprocesses. Any `wait_for` futures must be waited on in the parent process and converted to `State` objects before submission. The subprocess task engine handles `State` objects via `resolve_to_final_result`, which raises `UpstreamTaskError` for non-completed upstreams.
|
|
@@ -909,10 +909,15 @@ class FlowRunEngine(BaseFlowRunEngine[P, R]):
|
|
|
909
909
|
This method attempts to load an existing flow run for a subflow task
|
|
910
910
|
run, if appropriate.
|
|
911
911
|
|
|
912
|
-
If the parent task run is in a final
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
912
|
+
If the parent task run is in a final state, we return the existing
|
|
913
|
+
subflow run to avoid re-execution (unless the parent is being rerun
|
|
914
|
+
and the subflow did not complete, in which case a fresh run is
|
|
915
|
+
desired).
|
|
916
|
+
|
|
917
|
+
If the parent task run is in a non-final state (e.g. still Running
|
|
918
|
+
after a process restart), we also look for an existing subflow run
|
|
919
|
+
to reattach to, preventing duplicate subflow runs from being created
|
|
920
|
+
under the same parent task run.
|
|
916
921
|
|
|
917
922
|
If no existing flow run is found, or if the subflow should be rerun,
|
|
918
923
|
then no flow run is returned.
|
|
@@ -926,27 +931,32 @@ class FlowRunEngine(BaseFlowRunEngine[P, R]):
|
|
|
926
931
|
else False
|
|
927
932
|
)
|
|
928
933
|
|
|
929
|
-
# if the parent task run is in a final but not completed state, and
|
|
930
|
-
# not rerunning, then retrieve the most recent flow run instead of
|
|
931
|
-
# creating a new one. This effectively loads a cached flow run for
|
|
932
|
-
# situations where we are confident the flow should not be run
|
|
933
|
-
# again.
|
|
934
934
|
assert isinstance(parent_task_run.state, State)
|
|
935
|
-
|
|
936
|
-
|
|
935
|
+
|
|
936
|
+
# If the user explicitly triggered a re-run and the subflow did not
|
|
937
|
+
# complete, allow a fresh subflow to be created.
|
|
938
|
+
if (
|
|
939
|
+
parent_task_run.state.is_final()
|
|
940
|
+
and rerunning
|
|
941
|
+
and not parent_task_run.state.is_completed()
|
|
937
942
|
):
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
943
|
+
return None
|
|
944
|
+
|
|
945
|
+
# Look for an existing subflow run attached to this parent task run.
|
|
946
|
+
flow_runs = client.read_flow_runs(
|
|
947
|
+
flow_run_filter=FlowRunFilter(
|
|
948
|
+
parent_task_run_id={"any_": [parent_task_run.id]}
|
|
949
|
+
),
|
|
950
|
+
sort=FlowRunSort.EXPECTED_START_TIME_DESC,
|
|
951
|
+
limit=1,
|
|
952
|
+
)
|
|
953
|
+
if flow_runs:
|
|
954
|
+
loaded_flow_run = flow_runs[0]
|
|
955
|
+
# When the parent task run is final the subflow has already
|
|
956
|
+
# finished; cache the result so the engine skips re-execution.
|
|
957
|
+
if parent_task_run.state.is_final():
|
|
948
958
|
self._return_value = loaded_flow_run.state
|
|
949
|
-
|
|
959
|
+
return loaded_flow_run
|
|
950
960
|
|
|
951
961
|
def create_flow_run(self, client: SyncPrefectClient) -> FlowRun:
|
|
952
962
|
flow_run_ctx = FlowRunContext.get()
|
|
@@ -1594,10 +1604,15 @@ class AsyncFlowRunEngine(BaseFlowRunEngine[P, R]):
|
|
|
1594
1604
|
This method attempts to load an existing flow run for a subflow task
|
|
1595
1605
|
run, if appropriate.
|
|
1596
1606
|
|
|
1597
|
-
If the parent task run is in a final
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1607
|
+
If the parent task run is in a final state, we return the existing
|
|
1608
|
+
subflow run to avoid re-execution (unless the parent is being rerun
|
|
1609
|
+
and the subflow did not complete, in which case a fresh run is
|
|
1610
|
+
desired).
|
|
1611
|
+
|
|
1612
|
+
If the parent task run is in a non-final state (e.g. still Running
|
|
1613
|
+
after a process restart), we also look for an existing subflow run
|
|
1614
|
+
to reattach to, preventing duplicate subflow runs from being created
|
|
1615
|
+
under the same parent task run.
|
|
1601
1616
|
|
|
1602
1617
|
If no existing flow run is found, or if the subflow should be rerun,
|
|
1603
1618
|
then no flow run is returned.
|
|
@@ -1611,27 +1626,32 @@ class AsyncFlowRunEngine(BaseFlowRunEngine[P, R]):
|
|
|
1611
1626
|
else False
|
|
1612
1627
|
)
|
|
1613
1628
|
|
|
1614
|
-
# if the parent task run is in a final but not completed state, and
|
|
1615
|
-
# not rerunning, then retrieve the most recent flow run instead of
|
|
1616
|
-
# creating a new one. This effectively loads a cached flow run for
|
|
1617
|
-
# situations where we are confident the flow should not be run
|
|
1618
|
-
# again.
|
|
1619
1629
|
assert isinstance(parent_task_run.state, State)
|
|
1620
|
-
|
|
1621
|
-
|
|
1630
|
+
|
|
1631
|
+
# If the user explicitly triggered a re-run and the subflow did not
|
|
1632
|
+
# complete, allow a fresh subflow to be created.
|
|
1633
|
+
if (
|
|
1634
|
+
parent_task_run.state.is_final()
|
|
1635
|
+
and rerunning
|
|
1636
|
+
and not parent_task_run.state.is_completed()
|
|
1622
1637
|
):
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1638
|
+
return None
|
|
1639
|
+
|
|
1640
|
+
# Look for an existing subflow run attached to this parent task run.
|
|
1641
|
+
flow_runs = await client.read_flow_runs(
|
|
1642
|
+
flow_run_filter=FlowRunFilter(
|
|
1643
|
+
parent_task_run_id={"any_": [parent_task_run.id]}
|
|
1644
|
+
),
|
|
1645
|
+
sort=FlowRunSort.EXPECTED_START_TIME_DESC,
|
|
1646
|
+
limit=1,
|
|
1647
|
+
)
|
|
1648
|
+
if flow_runs:
|
|
1649
|
+
loaded_flow_run = flow_runs[0]
|
|
1650
|
+
# When the parent task run is final the subflow has already
|
|
1651
|
+
# finished; cache the result so the engine skips re-execution.
|
|
1652
|
+
if parent_task_run.state.is_final():
|
|
1633
1653
|
self._return_value = loaded_flow_run.state
|
|
1634
|
-
|
|
1654
|
+
return loaded_flow_run
|
|
1635
1655
|
|
|
1636
1656
|
async def create_flow_run(self, client: PrefectClient) -> FlowRun:
|
|
1637
1657
|
flow_run_ctx = FlowRunContext.get()
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/runner/_scheduled_run_poller.py
RENAMED
|
@@ -182,18 +182,15 @@ class ScheduledRunPoller:
|
|
|
182
182
|
pull_interval = getattr(storage, "pull_interval", None)
|
|
183
183
|
if storage and isinstance(pull_interval, (int, float)) and pull_interval:
|
|
184
184
|
last_adhoc_pull = getattr(storage, "last_adhoc_pull", None)
|
|
185
|
-
if (
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
< datetime.datetime.now()
|
|
189
|
-
- datetime.timedelta(seconds=storage.pull_interval)
|
|
190
|
-
):
|
|
185
|
+
if last_adhoc_pull is None or last_adhoc_pull < now(
|
|
186
|
+
"UTC"
|
|
187
|
+
) - datetime.timedelta(seconds=storage.pull_interval):
|
|
191
188
|
self._logger.debug(
|
|
192
189
|
"Performing adhoc pull of code for flow run %s",
|
|
193
190
|
flow_run.id,
|
|
194
191
|
)
|
|
195
192
|
await storage.pull_code()
|
|
196
|
-
storage.last_adhoc_pull =
|
|
193
|
+
storage.last_adhoc_pull = now("UTC")
|
|
197
194
|
|
|
198
195
|
executor = FlowRunExecutor(
|
|
199
196
|
flow_run=flow_run,
|
|
@@ -129,6 +129,7 @@ from prefect.settings import (
|
|
|
129
129
|
from prefect.states import (
|
|
130
130
|
AwaitingRetry,
|
|
131
131
|
)
|
|
132
|
+
from prefect.types._datetime import now
|
|
132
133
|
from prefect.types.entrypoint import EntrypointType
|
|
133
134
|
from prefect.utilities.annotations import NotSet
|
|
134
135
|
from prefect.utilities.asyncutils import (
|
|
@@ -1051,19 +1052,16 @@ class Runner:
|
|
|
1051
1052
|
# adhoc pull hasn't been performed in the last pull_interval
|
|
1052
1053
|
# TODO: Explore integrating this behavior with global concurrency.
|
|
1053
1054
|
last_adhoc_pull = getattr(storage, "last_adhoc_pull", None)
|
|
1054
|
-
if (
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
< datetime.datetime.now()
|
|
1058
|
-
- datetime.timedelta(seconds=storage.pull_interval)
|
|
1059
|
-
):
|
|
1055
|
+
if last_adhoc_pull is None or last_adhoc_pull < now(
|
|
1056
|
+
"UTC"
|
|
1057
|
+
) - datetime.timedelta(seconds=storage.pull_interval):
|
|
1060
1058
|
self._logger.debug(
|
|
1061
1059
|
"Performing adhoc pull of code for flow run %s with storage %r",
|
|
1062
1060
|
flow_run.id,
|
|
1063
1061
|
storage,
|
|
1064
1062
|
)
|
|
1065
1063
|
await storage.pull_code()
|
|
1066
|
-
setattr(storage, "last_adhoc_pull",
|
|
1064
|
+
setattr(storage, "last_adhoc_pull", now("UTC"))
|
|
1067
1065
|
|
|
1068
1066
|
handed_off = False
|
|
1069
1067
|
|
|
@@ -13,6 +13,8 @@ from pydantic import AfterValidator
|
|
|
13
13
|
from typing_extensions import TypeAlias
|
|
14
14
|
|
|
15
15
|
if sys.version_info >= (3, 13):
|
|
16
|
+
from pydantic import GetCoreSchemaHandler
|
|
17
|
+
from pydantic_core import core_schema as _core_schema
|
|
16
18
|
from whenever import DateTimeDelta
|
|
17
19
|
from whenever import ZonedDateTime as _ZDTProbe
|
|
18
20
|
|
|
@@ -21,7 +23,34 @@ if sys.version_info >= (3, 13):
|
|
|
21
23
|
_WHENEVER_NEW_API: bool = hasattr(_ZDTProbe, "to_stdlib")
|
|
22
24
|
del _ZDTProbe
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
class _DateTime(datetime.datetime):
|
|
27
|
+
"""`datetime.datetime` with a Pydantic schema that coerces naive to UTC.
|
|
28
|
+
|
|
29
|
+
On Python <= 3.12 the pendulum-backed `PydanticDateTime` enforces
|
|
30
|
+
tz-awareness during validation. This class is the 3.13+ equivalent so
|
|
31
|
+
any field typed as `DateTime` gets the same guarantee instead of
|
|
32
|
+
deferring to ad-hoc per-field validators (see #21949). Coercion reuses
|
|
33
|
+
the existing `create_datetime_instance` helper rather than open-coding
|
|
34
|
+
the naive→UTC check.
|
|
35
|
+
|
|
36
|
+
Runtime construction (`DateTime(2020, 1, 1)`) preserves the underlying
|
|
37
|
+
`datetime.datetime` semantics — naive in, naive out. The coercion
|
|
38
|
+
applies during Pydantic validation, which is where the silent
|
|
39
|
+
server-side drop originated.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
@classmethod
|
|
43
|
+
def __get_pydantic_core_schema__(
|
|
44
|
+
cls,
|
|
45
|
+
source_type: Any,
|
|
46
|
+
handler: GetCoreSchemaHandler,
|
|
47
|
+
) -> _core_schema.CoreSchema:
|
|
48
|
+
return _core_schema.no_info_after_validator_function(
|
|
49
|
+
create_datetime_instance,
|
|
50
|
+
handler(datetime.datetime),
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
DateTime: TypeAlias = _DateTime
|
|
25
54
|
Date: TypeAlias = datetime.date
|
|
26
55
|
Duration: TypeAlias = datetime.timedelta
|
|
27
56
|
if _WHENEVER_NEW_API:
|
|
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.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/_launchers.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/bundles/execute.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/plugins/apply.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/plugins/manager.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/plugins/spec.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/sla/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/sla/client.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_experimental/sla/objects.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/client.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/device_id.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/emit.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/enabled.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/events.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/analytics/notice.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.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.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/api.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/calls.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/threads.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/concurrency/waiters.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.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.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/installation.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/integrations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/observability.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/apply.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/collections.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/diagnostics.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/manager.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/spec.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/plugins/startup.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/pydantic/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/pydantic/schemas.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/pydantic/v1_schema.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/pydantic/v2_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/result_records.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/schemas/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/schemas/bases.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/schemas/fields.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_internal/schemas/serializers.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.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.7.1.dev8 → prefect_client-3.7.2.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.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/schema_converter.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/templates/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_sdk/templates/sdk.py.jinja
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_vendor/croniter/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.1.dev8 → prefect_client-3.7.2.dev1}/src/prefect/_vendor/croniter/croniter.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|