prefect-client 3.2.4__tar.gz → 3.2.6__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.2.4 → prefect_client-3.2.6}/PKG-INFO +1 -2
- {prefect_client-3.2.4 → prefect_client-3.2.6}/pyproject.toml +0 -1
- prefect_client-3.2.6/src/prefect/_build_info.py +5 -0
- prefect_client-3.2.6/src/prefect/_experimental/bundles.py +143 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/schemas/validators.py +1 -1
- prefect_client-3.2.6/src/prefect/_vendor/croniter/__init__.py +25 -0
- prefect_client-3.2.6/src/prefect/_vendor/croniter/croniter.py +1456 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/deployments/runner.py +14 -6
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/engine.py +63 -29
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/flow_engine.py +2 -32
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/runner/runner.py +142 -10
- prefect_client-3.2.4/src/prefect/_build_info.py +0 -5
- {prefect_client-3.2.4 → prefect_client-3.2.6}/.gitignore +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/LICENSE +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/README.md +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/__main__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_experimental/lineage.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/pydantic/annotations/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/pydantic/annotations/pendulum.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/_result_records.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/agent.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/automations.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/blocks/core.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/blocks/notifications.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/base.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_deployments/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/schemas/actions.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/schemas/objects.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/schemas/responses.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/_asyncio.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/services.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/context.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/actions.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/cli/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/cli/automations.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/clients.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/filters.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/related.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/schemas/automations.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/schemas/events.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/flow_runs.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/flows.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/futures.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/locking/memory.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/logging/filters.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/main.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/plugins.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/py.typed +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/results.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/runner/storage.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/runner/submit.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/runner/utils.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/schedules.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/serializers.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/clients.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/deployments.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/flow_run_notification_policies.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/flow_runs.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/flows.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/run_history.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/task_runs.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/ui/task_runs.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/work_queues.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/server/api/workers.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/base.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/root.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/settings/sources.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/states.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/task_engine.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/task_runners.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/task_worker.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/tasks.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/telemetry/bootstrap.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/telemetry/instrumentation.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/telemetry/logging.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/telemetry/processors.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/telemetry/services.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/transactions.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/types/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/types/_datetime.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/_deprecated.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/_engine.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/_git.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/asyncutils.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/callables.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/collections.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/engine.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/filesystem.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/math.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/processutils.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/templating.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/variables.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/workers/base.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.2.4 → prefect_client-3.2.6}/src/prefect/workers/utilities.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: prefect-client
|
3
|
-
Version: 3.2.
|
3
|
+
Version: 3.2.6
|
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
|
@@ -25,7 +25,6 @@ Requires-Dist: asgi-lifespan<3.0,>=1.0
|
|
25
25
|
Requires-Dist: cachetools<6.0,>=5.3
|
26
26
|
Requires-Dist: cloudpickle<4.0,>=2.0
|
27
27
|
Requires-Dist: coolname<3.0.0,>=1.0.4
|
28
|
-
Requires-Dist: croniter<7.0.0,>=1.0.12
|
29
28
|
Requires-Dist: exceptiongroup>=1.0.0
|
30
29
|
Requires-Dist: fastapi<1.0.0,>=0.111.0
|
31
30
|
Requires-Dist: fsspec>=2022.5.0
|
@@ -0,0 +1,143 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
import asyncio
|
4
|
+
import base64
|
5
|
+
import gzip
|
6
|
+
import multiprocessing
|
7
|
+
import multiprocessing.context
|
8
|
+
import os
|
9
|
+
from typing import Any, TypedDict
|
10
|
+
|
11
|
+
import cloudpickle
|
12
|
+
|
13
|
+
from prefect.client.schemas.objects import FlowRun
|
14
|
+
from prefect.context import SettingsContext, get_settings_context, serialize_context
|
15
|
+
from prefect.engine import handle_engine_signals
|
16
|
+
from prefect.flow_engine import run_flow
|
17
|
+
from prefect.flows import Flow
|
18
|
+
from prefect.settings.context import get_current_settings
|
19
|
+
from prefect.settings.models.root import Settings
|
20
|
+
|
21
|
+
|
22
|
+
class SerializedBundle(TypedDict):
|
23
|
+
"""
|
24
|
+
A serialized bundle is a serialized function, context, and flow run that can be
|
25
|
+
easily transported for later execution.
|
26
|
+
"""
|
27
|
+
|
28
|
+
function: str
|
29
|
+
context: str
|
30
|
+
flow_run: dict[str, Any]
|
31
|
+
|
32
|
+
|
33
|
+
def _serialize_bundle_object(obj: Any) -> str:
|
34
|
+
"""
|
35
|
+
Serializes an object to a string.
|
36
|
+
"""
|
37
|
+
return base64.b64encode(gzip.compress(cloudpickle.dumps(obj))).decode()
|
38
|
+
|
39
|
+
|
40
|
+
def _deserialize_bundle_object(serialized_obj: str) -> Any:
|
41
|
+
"""
|
42
|
+
Deserializes an object from a string.
|
43
|
+
"""
|
44
|
+
return cloudpickle.loads(gzip.decompress(base64.b64decode(serialized_obj)))
|
45
|
+
|
46
|
+
|
47
|
+
def create_bundle_for_flow_run(
|
48
|
+
flow: Flow[Any, Any],
|
49
|
+
flow_run: FlowRun,
|
50
|
+
context: dict[str, Any] | None = None,
|
51
|
+
) -> SerializedBundle:
|
52
|
+
"""
|
53
|
+
Creates a bundle for a flow run.
|
54
|
+
|
55
|
+
Args:
|
56
|
+
flow: The flow to bundle.
|
57
|
+
flow_run: The flow run to bundle.
|
58
|
+
context: The context to use when running the flow.
|
59
|
+
|
60
|
+
Returns:
|
61
|
+
A serialized bundle.
|
62
|
+
"""
|
63
|
+
context = context or serialize_context()
|
64
|
+
|
65
|
+
return {
|
66
|
+
"function": _serialize_bundle_object(flow),
|
67
|
+
"context": _serialize_bundle_object(context),
|
68
|
+
"flow_run": flow_run.model_dump(mode="json"),
|
69
|
+
}
|
70
|
+
|
71
|
+
|
72
|
+
def extract_flow_from_bundle(bundle: SerializedBundle) -> Flow[Any, Any]:
|
73
|
+
"""
|
74
|
+
Extracts a flow from a bundle.
|
75
|
+
"""
|
76
|
+
return _deserialize_bundle_object(bundle["function"])
|
77
|
+
|
78
|
+
|
79
|
+
def _extract_and_run_flow(
|
80
|
+
bundle: SerializedBundle, env: dict[str, Any] | None = None
|
81
|
+
) -> None:
|
82
|
+
"""
|
83
|
+
Extracts a flow from a bundle and runs it.
|
84
|
+
|
85
|
+
Designed to be run in a subprocess.
|
86
|
+
|
87
|
+
Args:
|
88
|
+
bundle: The bundle to extract and run.
|
89
|
+
env: The environment to use when running the flow.
|
90
|
+
"""
|
91
|
+
|
92
|
+
os.environ.update(env or {})
|
93
|
+
# TODO: make this a thing we can pass directly to the engine
|
94
|
+
os.environ["PREFECT__ENABLE_CANCELLATION_AND_CRASHED_HOOKS"] = "false"
|
95
|
+
settings_context = get_settings_context()
|
96
|
+
|
97
|
+
flow = _deserialize_bundle_object(bundle["function"])
|
98
|
+
context = _deserialize_bundle_object(bundle["context"])
|
99
|
+
flow_run = FlowRun.model_validate(bundle["flow_run"])
|
100
|
+
|
101
|
+
with SettingsContext(
|
102
|
+
profile=settings_context.profile,
|
103
|
+
settings=Settings(),
|
104
|
+
):
|
105
|
+
with handle_engine_signals(flow_run.id):
|
106
|
+
maybe_coro = run_flow(
|
107
|
+
flow=flow,
|
108
|
+
flow_run=flow_run,
|
109
|
+
context=context,
|
110
|
+
)
|
111
|
+
if asyncio.iscoroutine(maybe_coro):
|
112
|
+
# This is running in a brand new process, so there won't be an existing
|
113
|
+
# event loop.
|
114
|
+
asyncio.run(maybe_coro)
|
115
|
+
|
116
|
+
|
117
|
+
def execute_bundle_in_subprocess(
|
118
|
+
bundle: SerializedBundle,
|
119
|
+
) -> multiprocessing.context.SpawnProcess:
|
120
|
+
"""
|
121
|
+
Executes a bundle in a subprocess.
|
122
|
+
|
123
|
+
Args:
|
124
|
+
bundle: The bundle to execute.
|
125
|
+
|
126
|
+
Returns:
|
127
|
+
A multiprocessing.context.SpawnProcess.
|
128
|
+
"""
|
129
|
+
|
130
|
+
ctx = multiprocessing.get_context("spawn")
|
131
|
+
|
132
|
+
process = ctx.Process(
|
133
|
+
target=_extract_and_run_flow,
|
134
|
+
kwargs={
|
135
|
+
"bundle": bundle,
|
136
|
+
"env": get_current_settings().to_environment_variables(exclude_unset=True)
|
137
|
+
| os.environ,
|
138
|
+
},
|
139
|
+
)
|
140
|
+
|
141
|
+
process.start()
|
142
|
+
|
143
|
+
return process
|
@@ -294,7 +294,7 @@ def default_timezone(
|
|
294
294
|
|
295
295
|
|
296
296
|
def validate_cron_string(v: str) -> str:
|
297
|
-
from croniter import croniter
|
297
|
+
from prefect._vendor.croniter import croniter
|
298
298
|
|
299
299
|
# croniter allows "random" and "hashed" expressions
|
300
300
|
# which we do not support https://github.com/kiorky/croniter
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
from __future__ import absolute_import
|
3
|
+
|
4
|
+
from . import croniter as cron_m
|
5
|
+
from .croniter import (
|
6
|
+
DAY_FIELD,
|
7
|
+
HOUR_FIELD,
|
8
|
+
MINUTE_FIELD,
|
9
|
+
MONTH_FIELD,
|
10
|
+
OVERFLOW32B_MODE,
|
11
|
+
SECOND_FIELD,
|
12
|
+
UTC_DT,
|
13
|
+
YEAR_FIELD,
|
14
|
+
CroniterBadCronError,
|
15
|
+
CroniterBadDateError,
|
16
|
+
CroniterBadTypeRangeError,
|
17
|
+
CroniterError,
|
18
|
+
CroniterNotAlphaError,
|
19
|
+
CroniterUnsupportedSyntaxError,
|
20
|
+
croniter,
|
21
|
+
croniter_range,
|
22
|
+
datetime_to_timestamp,
|
23
|
+
)
|
24
|
+
|
25
|
+
croniter.__name__ # make flake8 happy
|