prefect-client 3.0.0rc5__tar.gz → 3.0.0rc6__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.0.0rc5/src/prefect_client.egg-info → prefect-client-3.0.0rc6}/PKG-INFO +1 -1
- {prefect-client-3.0.0rc5/src/prefect/records → prefect-client-3.0.0rc6/src/prefect}/cache_policies.py +78 -23
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/task_engine.py +8 -1
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/tasks.py +8 -4
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6/src/prefect_client.egg-info}/PKG-INFO +1 -1
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect_client.egg-info/SOURCES.txt +1 -1
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/LICENSE +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/MANIFEST.in +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/README.md +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/requirements-client.txt +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/requirements-dev.txt +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/requirements.txt +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/setup.cfg +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/setup.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/.prefectignore +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/_logging.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/compatibility/experimental.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/annotations/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/annotations/pendulum.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pytz.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_version.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/artifacts.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/automations.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/abstract.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/core.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/fields.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/notifications.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/redis.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/system.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/webhook.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/base.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/cloud.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/collections.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/constants.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/orchestration.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/actions.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/filters.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/objects.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/responses.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/subscriptions.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/types/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/utilities.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/concurrency/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/concurrency/events.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/concurrency/services.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/concurrency/sync.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/context.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/base.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/deployments.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/runner.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/schedules.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/steps/core.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/docker/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/docker/docker_image.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/engine.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/actions.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/cli/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/cli/automations.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/clients.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/filters.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/related.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/schemas/automations.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/schemas/events.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/utilities.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/worker.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/exceptions.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/filesystems.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/flow_engine.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/flow_runs.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/flows.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/futures.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/input/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/input/actions.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/input/run_input.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/configuration.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/filters.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/formatters.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/handlers.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/highlighters.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/loggers.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/logging.yml +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/manifests.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/plugins.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/profiles.toml +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/py.typed +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/records/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/records/result_store.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/records/store.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/results.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/runner.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/server.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/storage.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/submit.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/utils.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runtime/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runtime/deployment.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runtime/flow_run.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runtime/task_run.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/serializers.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/settings.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/states.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/task_runners.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/task_runs.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/task_worker.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/transactions.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/types/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/types/entrypoint.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/annotations.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/asyncutils.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/callables.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/collections.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/compat.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/context.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/dispatch.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/engine.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/filesystem.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/hashing.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/importtools.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/math.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/names.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/processutils.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/pydantic.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/services.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/slugify.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/templating.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/text.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/timeout.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/urls.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/visualization.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/variables.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/workers/__init__.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/workers/base.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/workers/process.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/workers/server.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/workers/utilities.py +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect_client.egg-info/dependency_links.txt +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect_client.egg-info/requires.txt +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect_client.egg-info/top_level.txt +0 -0
- {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/versioneer.py +0 -0
@@ -8,6 +8,10 @@ from prefect.utilities.hashing import hash_objects
|
|
8
8
|
|
9
9
|
@dataclass
|
10
10
|
class CachePolicy:
|
11
|
+
"""
|
12
|
+
Base class for all cache policies.
|
13
|
+
"""
|
14
|
+
|
11
15
|
@classmethod
|
12
16
|
def from_cache_key_fn(
|
13
17
|
cls, cache_key_fn: Callable[["TaskRunContext", Dict[str, Any]], Optional[str]]
|
@@ -59,6 +63,11 @@ class CachePolicy:
|
|
59
63
|
|
60
64
|
@dataclass
|
61
65
|
class CacheKeyFnPolicy(CachePolicy):
|
66
|
+
"""
|
67
|
+
This policy accepts a custom function with signature f(task_run_context, task_parameters, flow_parameters) -> str
|
68
|
+
and uses it to compute a task run cache key.
|
69
|
+
"""
|
70
|
+
|
62
71
|
# making it optional for tests
|
63
72
|
cache_key_fn: Optional[
|
64
73
|
Callable[["TaskRunContext", Dict[str, Any]], Optional[str]]
|
@@ -77,6 +86,13 @@ class CacheKeyFnPolicy(CachePolicy):
|
|
77
86
|
|
78
87
|
@dataclass
|
79
88
|
class CompoundCachePolicy(CachePolicy):
|
89
|
+
"""
|
90
|
+
This policy is constructed from two or more other cache policies and works by computing the keys
|
91
|
+
for each policy individually, and then hashing a sorted tuple of all computed keys.
|
92
|
+
|
93
|
+
Any keys that return `None` will be ignored.
|
94
|
+
"""
|
95
|
+
|
80
96
|
policies: Optional[list] = None
|
81
97
|
|
82
98
|
def compute_key(
|
@@ -88,20 +104,25 @@ class CompoundCachePolicy(CachePolicy):
|
|
88
104
|
) -> Optional[str]:
|
89
105
|
keys = []
|
90
106
|
for policy in self.policies or []:
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
**kwargs,
|
97
|
-
)
|
107
|
+
policy_key = policy.compute_key(
|
108
|
+
task_ctx=task_ctx,
|
109
|
+
inputs=inputs,
|
110
|
+
flow_parameters=flow_parameters,
|
111
|
+
**kwargs,
|
98
112
|
)
|
113
|
+
if policy_key is not None:
|
114
|
+
keys.append(policy_key)
|
115
|
+
if not keys:
|
116
|
+
return None
|
99
117
|
return hash_objects(*keys)
|
100
118
|
|
101
119
|
|
102
120
|
@dataclass
|
103
|
-
class
|
104
|
-
"
|
121
|
+
class _None(CachePolicy):
|
122
|
+
"""
|
123
|
+
Policy that always returns `None` for the computed cache key.
|
124
|
+
This policy prevents persistence.
|
125
|
+
"""
|
105
126
|
|
106
127
|
def compute_key(
|
107
128
|
self,
|
@@ -110,12 +131,14 @@ class Default(CachePolicy):
|
|
110
131
|
flow_parameters: Dict[str, Any],
|
111
132
|
**kwargs,
|
112
133
|
) -> Optional[str]:
|
113
|
-
return
|
134
|
+
return None
|
114
135
|
|
115
136
|
|
116
137
|
@dataclass
|
117
|
-
class
|
118
|
-
"
|
138
|
+
class TaskSource(CachePolicy):
|
139
|
+
"""
|
140
|
+
Policy for computing a cache key based on the source code of the task.
|
141
|
+
"""
|
119
142
|
|
120
143
|
def compute_key(
|
121
144
|
self,
|
@@ -124,11 +147,22 @@ class _None(CachePolicy):
|
|
124
147
|
flow_parameters: Dict[str, Any],
|
125
148
|
**kwargs,
|
126
149
|
) -> Optional[str]:
|
127
|
-
|
150
|
+
if not task_ctx:
|
151
|
+
return None
|
152
|
+
try:
|
153
|
+
lines = inspect.getsource(task_ctx.task)
|
154
|
+
except TypeError:
|
155
|
+
lines = inspect.getsource(task_ctx.task.fn.__class__)
|
156
|
+
|
157
|
+
return hash_objects(lines)
|
128
158
|
|
129
159
|
|
130
160
|
@dataclass
|
131
|
-
class
|
161
|
+
class FlowParameters(CachePolicy):
|
162
|
+
"""
|
163
|
+
Policy that computes the cache key based on a hash of the flow parameters.
|
164
|
+
"""
|
165
|
+
|
132
166
|
def compute_key(
|
133
167
|
self,
|
134
168
|
task_ctx: TaskRunContext,
|
@@ -136,21 +170,37 @@ class TaskDef(CachePolicy):
|
|
136
170
|
flow_parameters: Dict[str, Any],
|
137
171
|
**kwargs,
|
138
172
|
) -> Optional[str]:
|
139
|
-
|
140
|
-
|
173
|
+
if not flow_parameters:
|
174
|
+
return None
|
175
|
+
return hash_objects(flow_parameters)
|
141
176
|
|
142
177
|
|
143
178
|
@dataclass
|
144
|
-
class
|
145
|
-
|
179
|
+
class RunId(CachePolicy):
|
180
|
+
"""
|
181
|
+
Returns either the prevailing flow run ID, or if not found, the prevailing task
|
182
|
+
run ID.
|
183
|
+
"""
|
184
|
+
|
185
|
+
def compute_key(
|
186
|
+
self,
|
187
|
+
task_ctx: TaskRunContext,
|
188
|
+
inputs: Dict[str, Any],
|
189
|
+
flow_parameters: Dict[str, Any],
|
190
|
+
**kwargs,
|
191
|
+
) -> Optional[str]:
|
192
|
+
if not task_ctx:
|
193
|
+
return None
|
194
|
+
run_id = task_ctx.task_run.flow_run_id
|
195
|
+
if run_id is None:
|
196
|
+
run_id = task_ctx.task_run.id
|
197
|
+
return str(run_id)
|
146
198
|
|
147
199
|
|
148
200
|
@dataclass
|
149
201
|
class Inputs(CachePolicy):
|
150
202
|
"""
|
151
|
-
|
152
|
-
|
153
|
-
And exclude/include config.
|
203
|
+
Policy that computes a cache key based on a hash of the runtime inputs provided to the task..
|
154
204
|
"""
|
155
205
|
|
156
206
|
exclude: Optional[list] = None
|
@@ -166,6 +216,9 @@ class Inputs(CachePolicy):
|
|
166
216
|
inputs = inputs or {}
|
167
217
|
exclude = self.exclude or []
|
168
218
|
|
219
|
+
if not inputs:
|
220
|
+
return None
|
221
|
+
|
169
222
|
for key, val in inputs.items():
|
170
223
|
if key not in exclude:
|
171
224
|
hashed_inputs[key] = val
|
@@ -173,7 +226,9 @@ class Inputs(CachePolicy):
|
|
173
226
|
return hash_objects(hashed_inputs)
|
174
227
|
|
175
228
|
|
176
|
-
DEFAULT = Default()
|
177
229
|
INPUTS = Inputs()
|
178
230
|
NONE = _None()
|
179
|
-
|
231
|
+
TASK_SOURCE = TaskSource()
|
232
|
+
FLOW_PARAMETERS = FlowParameters()
|
233
|
+
RUN_ID = RunId()
|
234
|
+
DEFAULT = INPUTS + TASK_SOURCE + RUN_ID
|
@@ -174,11 +174,18 @@ class TaskRunEngine(Generic[P, R]):
|
|
174
174
|
def compute_transaction_key(self) -> str:
|
175
175
|
key = None
|
176
176
|
if self.task.cache_policy:
|
177
|
+
flow_run_context = FlowRunContext.get()
|
177
178
|
task_run_context = TaskRunContext.get()
|
179
|
+
|
180
|
+
if flow_run_context:
|
181
|
+
parameters = flow_run_context.parameters
|
182
|
+
else:
|
183
|
+
parameters = None
|
184
|
+
|
178
185
|
key = self.task.cache_policy.compute_key(
|
179
186
|
task_ctx=task_run_context,
|
180
187
|
inputs=self.parameters,
|
181
|
-
flow_parameters=
|
188
|
+
flow_parameters=parameters,
|
182
189
|
)
|
183
190
|
elif self.task.result_storage_key is not None:
|
184
191
|
key = _format_user_supplied_storage_key(self.task.result_storage_key)
|
@@ -32,6 +32,7 @@ from uuid import UUID, uuid4
|
|
32
32
|
|
33
33
|
from typing_extensions import Literal, ParamSpec
|
34
34
|
|
35
|
+
from prefect.cache_policies import DEFAULT, NONE, CachePolicy
|
35
36
|
from prefect.client.orchestration import get_client
|
36
37
|
from prefect.client.schemas import TaskRun
|
37
38
|
from prefect.client.schemas.objects import TaskRunInput, TaskRunResult
|
@@ -43,7 +44,6 @@ from prefect.context import (
|
|
43
44
|
)
|
44
45
|
from prefect.futures import PrefectDistributedFuture, PrefectFuture
|
45
46
|
from prefect.logging.loggers import get_logger
|
46
|
-
from prefect.records.cache_policies import DEFAULT, NONE, CachePolicy
|
47
47
|
from prefect.results import ResultFactory, ResultSerializer, ResultStorage
|
48
48
|
from prefect.settings import (
|
49
49
|
PREFECT_TASK_DEFAULT_RETRIES,
|
@@ -51,7 +51,10 @@ from prefect.settings import (
|
|
51
51
|
)
|
52
52
|
from prefect.states import Pending, Scheduled, State
|
53
53
|
from prefect.utilities.annotations import NotSet
|
54
|
-
from prefect.utilities.asyncutils import
|
54
|
+
from prefect.utilities.asyncutils import (
|
55
|
+
run_coro_as_sync,
|
56
|
+
sync_compatible,
|
57
|
+
)
|
55
58
|
from prefect.utilities.callables import (
|
56
59
|
expand_mapping_parameters,
|
57
60
|
get_call_parameters,
|
@@ -1284,7 +1287,8 @@ class Task(Generic[P, R]):
|
|
1284
1287
|
"""
|
1285
1288
|
return self.apply_async(args=args, kwargs=kwargs)
|
1286
1289
|
|
1287
|
-
|
1290
|
+
@sync_compatible
|
1291
|
+
async def serve(self) -> NoReturn:
|
1288
1292
|
"""Serve the task using the provided task runner. This method is used to
|
1289
1293
|
establish a websocket connection with the Prefect server and listen for
|
1290
1294
|
submitted task runs to execute.
|
@@ -1303,7 +1307,7 @@ class Task(Generic[P, R]):
|
|
1303
1307
|
"""
|
1304
1308
|
from prefect.task_worker import serve
|
1305
1309
|
|
1306
|
-
serve(self)
|
1310
|
+
await serve(self)
|
1307
1311
|
|
1308
1312
|
|
1309
1313
|
@overload
|
@@ -12,6 +12,7 @@ src/prefect/__init__.py
|
|
12
12
|
src/prefect/_version.py
|
13
13
|
src/prefect/artifacts.py
|
14
14
|
src/prefect/automations.py
|
15
|
+
src/prefect/cache_policies.py
|
15
16
|
src/prefect/context.py
|
16
17
|
src/prefect/engine.py
|
17
18
|
src/prefect/exceptions.py
|
@@ -138,7 +139,6 @@ src/prefect/logging/highlighters.py
|
|
138
139
|
src/prefect/logging/loggers.py
|
139
140
|
src/prefect/logging/logging.yml
|
140
141
|
src/prefect/records/__init__.py
|
141
|
-
src/prefect/records/cache_policies.py
|
142
142
|
src/prefect/records/result_store.py
|
143
143
|
src/prefect/records/store.py
|
144
144
|
src/prefect/runner/__init__.py
|
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.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/compatibility/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/compatibility/migration.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/__init__.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/api.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/calls.py
RENAMED
File without changes
|
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/event_loop.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/inspection.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/primitives.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/services.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/threads.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/waiters.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/schemas.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/v1_schema.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/v2_schema.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/serializers.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/steps/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/steps/utility.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.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/schemas/automations.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
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/ecs.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/modal.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
|
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
|
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
|
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.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/schema_tools/__init__.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/schema_tools/hydration.py
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/schema_tools/validation.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
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect_client.egg-info/dependency_links.txt
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect_client.egg-info/requires.txt
RENAMED
File without changes
|
{prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect_client.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|