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.
Files changed (196) hide show
  1. {prefect-client-3.0.0rc5/src/prefect_client.egg-info → prefect-client-3.0.0rc6}/PKG-INFO +1 -1
  2. {prefect-client-3.0.0rc5/src/prefect/records → prefect-client-3.0.0rc6/src/prefect}/cache_policies.py +78 -23
  3. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/task_engine.py +8 -1
  4. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/tasks.py +8 -4
  5. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6/src/prefect_client.egg-info}/PKG-INFO +1 -1
  6. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect_client.egg-info/SOURCES.txt +1 -1
  7. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/LICENSE +0 -0
  8. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/MANIFEST.in +0 -0
  9. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/README.md +0 -0
  10. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/requirements-client.txt +0 -0
  11. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/requirements-dev.txt +0 -0
  12. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/requirements.txt +0 -0
  13. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/setup.cfg +0 -0
  14. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/setup.py +0 -0
  15. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/.prefectignore +0 -0
  16. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/__init__.py +0 -0
  17. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/__init__.py +0 -0
  18. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/_logging.py +0 -0
  19. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/compatibility/__init__.py +0 -0
  20. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  21. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/compatibility/experimental.py +0 -0
  22. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/compatibility/migration.py +0 -0
  23. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/__init__.py +0 -0
  24. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/api.py +0 -0
  25. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/calls.py +0 -0
  26. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  27. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  28. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/inspection.py +0 -0
  29. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/primitives.py +0 -0
  30. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/services.py +0 -0
  31. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/threads.py +0 -0
  32. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/concurrency/waiters.py +0 -0
  33. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/__init__.py +0 -0
  34. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/annotations/__init__.py +0 -0
  35. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/annotations/pendulum.py +0 -0
  36. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/schemas.py +0 -0
  37. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  38. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  39. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  40. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/pytz.py +0 -0
  41. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/__init__.py +0 -0
  42. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/bases.py +0 -0
  43. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/fields.py +0 -0
  44. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/serializers.py +0 -0
  45. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_internal/schemas/validators.py +0 -0
  46. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/_version.py +0 -0
  47. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/artifacts.py +0 -0
  48. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/automations.py +0 -0
  49. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/__init__.py +0 -0
  50. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/abstract.py +0 -0
  51. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/core.py +0 -0
  52. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/fields.py +0 -0
  53. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/notifications.py +0 -0
  54. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/redis.py +0 -0
  55. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/system.py +0 -0
  56. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/blocks/webhook.py +0 -0
  57. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/__init__.py +0 -0
  58. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/base.py +0 -0
  59. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/cloud.py +0 -0
  60. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/collections.py +0 -0
  61. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/constants.py +0 -0
  62. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/orchestration.py +0 -0
  63. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/__init__.py +0 -0
  64. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/actions.py +0 -0
  65. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/filters.py +0 -0
  66. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/objects.py +0 -0
  67. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/responses.py +0 -0
  68. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/schedules.py +0 -0
  69. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/schemas/sorting.py +0 -0
  70. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/subscriptions.py +0 -0
  71. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/types/__init__.py +0 -0
  72. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  73. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/client/utilities.py +0 -0
  74. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/concurrency/__init__.py +0 -0
  75. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/concurrency/asyncio.py +0 -0
  76. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/concurrency/events.py +0 -0
  77. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/concurrency/services.py +0 -0
  78. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/concurrency/sync.py +0 -0
  79. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/context.py +0 -0
  80. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/__init__.py +0 -0
  81. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/base.py +0 -0
  82. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/deployments.py +0 -0
  83. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/flow_runs.py +0 -0
  84. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/runner.py +0 -0
  85. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/schedules.py +0 -0
  86. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/steps/__init__.py +0 -0
  87. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/steps/core.py +0 -0
  88. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/steps/pull.py +0 -0
  89. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/deployments/steps/utility.py +0 -0
  90. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/docker/__init__.py +0 -0
  91. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/docker/docker_image.py +0 -0
  92. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/engine.py +0 -0
  93. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/__init__.py +0 -0
  94. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/actions.py +0 -0
  95. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/cli/__init__.py +0 -0
  96. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/cli/automations.py +0 -0
  97. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/clients.py +0 -0
  98. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/filters.py +0 -0
  99. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/related.py +0 -0
  100. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/schemas/__init__.py +0 -0
  101. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/schemas/automations.py +0 -0
  102. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  103. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/schemas/events.py +0 -0
  104. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/schemas/labelling.py +0 -0
  105. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/utilities.py +0 -0
  106. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/events/worker.py +0 -0
  107. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/exceptions.py +0 -0
  108. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/filesystems.py +0 -0
  109. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/flow_engine.py +0 -0
  110. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/flow_runs.py +0 -0
  111. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/flows.py +0 -0
  112. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/futures.py +0 -0
  113. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/__init__.py +0 -0
  114. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  115. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  116. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  117. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  118. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  119. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/input/__init__.py +0 -0
  120. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/input/actions.py +0 -0
  121. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/input/run_input.py +0 -0
  122. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/__init__.py +0 -0
  123. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/configuration.py +0 -0
  124. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/filters.py +0 -0
  125. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/formatters.py +0 -0
  126. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/handlers.py +0 -0
  127. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/highlighters.py +0 -0
  128. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/loggers.py +0 -0
  129. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/logging/logging.yml +0 -0
  130. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/manifests.py +0 -0
  131. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/plugins.py +0 -0
  132. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/profiles.toml +0 -0
  133. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/py.typed +0 -0
  134. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/records/__init__.py +0 -0
  135. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/records/result_store.py +0 -0
  136. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/records/store.py +0 -0
  137. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/results.py +0 -0
  138. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/__init__.py +0 -0
  139. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/runner.py +0 -0
  140. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/server.py +0 -0
  141. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/storage.py +0 -0
  142. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/submit.py +0 -0
  143. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runner/utils.py +0 -0
  144. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runtime/__init__.py +0 -0
  145. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runtime/deployment.py +0 -0
  146. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runtime/flow_run.py +0 -0
  147. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/runtime/task_run.py +0 -0
  148. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/serializers.py +0 -0
  149. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  150. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  151. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/settings.py +0 -0
  152. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/states.py +0 -0
  153. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/task_runners.py +0 -0
  154. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/task_runs.py +0 -0
  155. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/task_worker.py +0 -0
  156. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/transactions.py +0 -0
  157. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/types/__init__.py +0 -0
  158. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/types/entrypoint.py +0 -0
  159. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/__init__.py +0 -0
  160. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/annotations.py +0 -0
  161. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/asyncutils.py +0 -0
  162. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/callables.py +0 -0
  163. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/collections.py +0 -0
  164. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/compat.py +0 -0
  165. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/context.py +0 -0
  166. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/dispatch.py +0 -0
  167. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/dockerutils.py +0 -0
  168. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/engine.py +0 -0
  169. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/filesystem.py +0 -0
  170. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/hashing.py +0 -0
  171. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/importtools.py +0 -0
  172. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/math.py +0 -0
  173. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/names.py +0 -0
  174. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/processutils.py +0 -0
  175. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/pydantic.py +0 -0
  176. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/render_swagger.py +0 -0
  177. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  178. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  179. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/schema_tools/validation.py +0 -0
  180. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/services.py +0 -0
  181. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/slugify.py +0 -0
  182. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/templating.py +0 -0
  183. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/text.py +0 -0
  184. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/timeout.py +0 -0
  185. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/urls.py +0 -0
  186. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/utilities/visualization.py +0 -0
  187. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/variables.py +0 -0
  188. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/workers/__init__.py +0 -0
  189. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/workers/base.py +0 -0
  190. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/workers/process.py +0 -0
  191. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/workers/server.py +0 -0
  192. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect/workers/utilities.py +0 -0
  193. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect_client.egg-info/dependency_links.txt +0 -0
  194. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect_client.egg-info/requires.txt +0 -0
  195. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/src/prefect_client.egg-info/top_level.txt +0 -0
  196. {prefect-client-3.0.0rc5 → prefect-client-3.0.0rc6}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 3.0.0rc5
3
+ Version: 3.0.0rc6
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -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
- keys.append(
92
- policy.compute_key(
93
- task_ctx=task_ctx,
94
- inputs=inputs,
95
- flow_parameters=flow_parameters,
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 Default(CachePolicy):
104
- "Execution run ID only"
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 str(task_ctx.task_run.id)
134
+ return None
114
135
 
115
136
 
116
137
  @dataclass
117
- class _None(CachePolicy):
118
- "ignore key policies altogether, always run - prevents persistence"
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
- return None
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 TaskDef(CachePolicy):
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
- lines = inspect.getsource(task_ctx.task)
140
- return hash_objects(lines)
173
+ if not flow_parameters:
174
+ return None
175
+ return hash_objects(flow_parameters)
141
176
 
142
177
 
143
178
  @dataclass
144
- class FlowParameters(CachePolicy):
145
- pass
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
- Exposes flag for whether to include flow parameters as well.
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
- TASKDEF = TaskDef()
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=None,
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 run_coro_as_sync
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
- def serve(self) -> "Task":
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 3.0.0rc5
3
+ Version: 3.0.0rc6
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -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