prefect-client 3.3.5.dev1__tar.gz → 3.3.5.dev2__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 (324) hide show
  1. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/PKG-INFO +1 -1
  2. prefect_client-3.3.5.dev2/src/prefect/_build_info.py +5 -0
  3. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/locking/memory.py +11 -9
  4. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/results.py +9 -0
  5. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/task_engine.py +12 -6
  6. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/tasks.py +0 -5
  7. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/transactions.py +345 -71
  8. prefect_client-3.3.5.dev1/src/prefect/_build_info.py +0 -5
  9. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/.gitignore +0 -0
  10. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/LICENSE +0 -0
  11. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/README.md +0 -0
  12. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/pyproject.toml +0 -0
  13. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/.prefectignore +0 -0
  14. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/__init__.py +0 -0
  15. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/__main__.py +0 -0
  16. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/__init__.py +0 -0
  17. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/bundles.py +0 -0
  18. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/lineage.py +0 -0
  19. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/sla/__init__.py +0 -0
  20. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/sla/client.py +0 -0
  21. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/sla/objects.py +0 -0
  22. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/__init__.py +0 -0
  23. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/_logging.py +0 -0
  24. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/compatibility/__init__.py +0 -0
  25. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  26. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  27. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/compatibility/migration.py +0 -0
  28. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/__init__.py +0 -0
  29. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/api.py +0 -0
  30. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/calls.py +0 -0
  31. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  32. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  33. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/inspection.py +0 -0
  34. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/primitives.py +0 -0
  35. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/services.py +0 -0
  36. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/threads.py +0 -0
  37. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/waiters.py +0 -0
  38. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/integrations.py +0 -0
  39. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pydantic/__init__.py +0 -0
  40. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pydantic/schemas.py +0 -0
  41. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  42. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  43. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  44. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pytz.py +0 -0
  45. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/retries.py +0 -0
  46. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/schemas/__init__.py +0 -0
  47. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/schemas/bases.py +0 -0
  48. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/schemas/fields.py +0 -0
  49. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/schemas/serializers.py +0 -0
  50. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_internal/schemas/validators.py +0 -0
  51. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_result_records.py +0 -0
  52. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_vendor/croniter/__init__.py +0 -0
  53. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_vendor/croniter/croniter.py +0 -0
  54. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/_waiters.py +0 -0
  55. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/agent.py +0 -0
  56. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/artifacts.py +0 -0
  57. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/automations.py +0 -0
  58. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/blocks/__init__.py +0 -0
  59. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/blocks/abstract.py +0 -0
  60. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/blocks/core.py +0 -0
  61. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/blocks/fields.py +0 -0
  62. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/blocks/notifications.py +0 -0
  63. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/blocks/redis.py +0 -0
  64. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/blocks/system.py +0 -0
  65. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/blocks/webhook.py +0 -0
  66. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/cache_policies.py +0 -0
  67. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/__init__.py +0 -0
  68. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/base.py +0 -0
  69. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/cloud.py +0 -0
  70. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/collections.py +0 -0
  71. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/constants.py +0 -0
  72. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/__init__.py +0 -0
  73. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  74. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  75. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  76. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_automations/client.py +0 -0
  77. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  78. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  79. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  80. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  81. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  82. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  83. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  84. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  85. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  86. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  87. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  88. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  89. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  90. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_flows/client.py +0 -0
  91. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  92. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_logs/client.py +0 -0
  93. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  94. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_variables/client.py +0 -0
  95. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  96. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  97. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/base.py +0 -0
  98. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/routes.py +0 -0
  99. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/__init__.py +0 -0
  100. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/actions.py +0 -0
  101. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/filters.py +0 -0
  102. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/objects.py +0 -0
  103. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/responses.py +0 -0
  104. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/schedules.py +0 -0
  105. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/sorting.py +0 -0
  106. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/subscriptions.py +0 -0
  107. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/types/__init__.py +0 -0
  108. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  109. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/client/utilities.py +0 -0
  110. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/__init__.py +0 -0
  111. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/_asyncio.py +0 -0
  112. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/_events.py +0 -0
  113. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/asyncio.py +0 -0
  114. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/context.py +0 -0
  115. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/services.py +0 -0
  116. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/sync.py +0 -0
  117. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/__init__.py +0 -0
  118. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  119. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/_events.py +0 -0
  120. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/asyncio.py +0 -0
  121. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/context.py +0 -0
  122. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/services.py +0 -0
  123. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/sync.py +0 -0
  124. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/context.py +0 -0
  125. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/deployments/__init__.py +0 -0
  126. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/deployments/base.py +0 -0
  127. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/deployments/deployments.py +0 -0
  128. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/deployments/flow_runs.py +0 -0
  129. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/deployments/runner.py +0 -0
  130. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/deployments/schedules.py +0 -0
  131. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/deployments/steps/__init__.py +0 -0
  132. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/deployments/steps/core.py +0 -0
  133. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/deployments/steps/pull.py +0 -0
  134. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/deployments/steps/utility.py +0 -0
  135. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/docker/__init__.py +0 -0
  136. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/docker/docker_image.py +0 -0
  137. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/engine.py +0 -0
  138. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/__init__.py +0 -0
  139. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/actions.py +0 -0
  140. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/cli/__init__.py +0 -0
  141. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/cli/automations.py +0 -0
  142. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/clients.py +0 -0
  143. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/filters.py +0 -0
  144. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/related.py +0 -0
  145. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/schemas/__init__.py +0 -0
  146. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/schemas/automations.py +0 -0
  147. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  148. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/schemas/events.py +0 -0
  149. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/schemas/labelling.py +0 -0
  150. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/utilities.py +0 -0
  151. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/events/worker.py +0 -0
  152. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/exceptions.py +0 -0
  153. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/filesystems.py +0 -0
  154. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/flow_engine.py +0 -0
  155. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/flow_runs.py +0 -0
  156. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/flows.py +0 -0
  157. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/futures.py +0 -0
  158. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/__init__.py +0 -0
  159. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/base.py +0 -0
  160. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  161. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  162. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  163. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  164. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  165. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  166. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/input/__init__.py +0 -0
  167. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/input/actions.py +0 -0
  168. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/input/run_input.py +0 -0
  169. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/locking/__init__.py +0 -0
  170. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/locking/filesystem.py +0 -0
  171. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/locking/protocol.py +0 -0
  172. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/logging/__init__.py +0 -0
  173. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/logging/configuration.py +0 -0
  174. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/logging/filters.py +0 -0
  175. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/logging/formatters.py +0 -0
  176. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/logging/handlers.py +0 -0
  177. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/logging/highlighters.py +0 -0
  178. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/logging/loggers.py +0 -0
  179. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/logging/logging.yml +0 -0
  180. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/main.py +0 -0
  181. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/plugins.py +0 -0
  182. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/py.typed +0 -0
  183. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/runner/__init__.py +0 -0
  184. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/runner/runner.py +0 -0
  185. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/runner/server.py +0 -0
  186. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/runner/storage.py +0 -0
  187. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/runner/submit.py +0 -0
  188. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/runner/utils.py +0 -0
  189. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/runtime/__init__.py +0 -0
  190. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/runtime/deployment.py +0 -0
  191. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/runtime/flow_run.py +0 -0
  192. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/runtime/task_run.py +0 -0
  193. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/schedules.py +0 -0
  194. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/serializers.py +0 -0
  195. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/__init__.py +0 -0
  196. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/admin.py +0 -0
  197. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/artifacts.py +0 -0
  198. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/automations.py +0 -0
  199. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/block_capabilities.py +0 -0
  200. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/block_documents.py +0 -0
  201. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/block_schemas.py +0 -0
  202. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/block_types.py +0 -0
  203. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/clients.py +0 -0
  204. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/collections.py +0 -0
  205. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  206. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/concurrency_limits.py +0 -0
  207. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  208. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/csrf_token.py +0 -0
  209. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/dependencies.py +0 -0
  210. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/deployments.py +0 -0
  211. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/events.py +0 -0
  212. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/flow_run_notification_policies.py +0 -0
  213. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/flow_run_states.py +0 -0
  214. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/flow_runs.py +0 -0
  215. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/flows.py +0 -0
  216. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/logs.py +0 -0
  217. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/middleware.py +0 -0
  218. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/root.py +0 -0
  219. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/run_history.py +0 -0
  220. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/saved_searches.py +0 -0
  221. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/server.py +0 -0
  222. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  223. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/task_run_states.py +0 -0
  224. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/task_runs.py +0 -0
  225. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/task_workers.py +0 -0
  226. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/templates.py +0 -0
  227. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/ui/__init__.py +0 -0
  228. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/ui/flow_runs.py +0 -0
  229. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/ui/flows.py +0 -0
  230. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/ui/schemas.py +0 -0
  231. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/ui/task_runs.py +0 -0
  232. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/validation.py +0 -0
  233. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/variables.py +0 -0
  234. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/work_queues.py +0 -0
  235. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/server/api/workers.py +0 -0
  236. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/__init__.py +0 -0
  237. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/base.py +0 -0
  238. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/constants.py +0 -0
  239. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/context.py +0 -0
  240. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/legacy.py +0 -0
  241. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/__init__.py +0 -0
  242. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/api.py +0 -0
  243. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/cli.py +0 -0
  244. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/client.py +0 -0
  245. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/cloud.py +0 -0
  246. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/deployments.py +0 -0
  247. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/experiments.py +0 -0
  248. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/flows.py +0 -0
  249. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/internal.py +0 -0
  250. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/logging.py +0 -0
  251. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/results.py +0 -0
  252. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/root.py +0 -0
  253. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/runner.py +0 -0
  254. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/__init__.py +0 -0
  255. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/api.py +0 -0
  256. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/database.py +0 -0
  257. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/deployments.py +0 -0
  258. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/ephemeral.py +0 -0
  259. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/events.py +0 -0
  260. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  261. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/root.py +0 -0
  262. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/services.py +0 -0
  263. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/tasks.py +0 -0
  264. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/ui.py +0 -0
  265. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/tasks.py +0 -0
  266. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/testing.py +0 -0
  267. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/worker.py +0 -0
  268. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/profiles.py +0 -0
  269. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/profiles.toml +0 -0
  270. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/settings/sources.py +0 -0
  271. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/states.py +0 -0
  272. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/task_runners.py +0 -0
  273. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/task_runs.py +0 -0
  274. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/task_worker.py +0 -0
  275. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/__init__.py +0 -0
  276. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/bootstrap.py +0 -0
  277. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/instrumentation.py +0 -0
  278. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/logging.py +0 -0
  279. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/processors.py +0 -0
  280. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/run_telemetry.py +0 -0
  281. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/services.py +0 -0
  282. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/types/__init__.py +0 -0
  283. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/types/_datetime.py +0 -0
  284. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/types/entrypoint.py +0 -0
  285. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/__init__.py +0 -0
  286. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/_deprecated.py +0 -0
  287. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/_engine.py +0 -0
  288. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/_git.py +0 -0
  289. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/annotations.py +0 -0
  290. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/asyncutils.py +0 -0
  291. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/callables.py +0 -0
  292. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/collections.py +0 -0
  293. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/compat.py +0 -0
  294. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/context.py +0 -0
  295. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/dispatch.py +0 -0
  296. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/dockerutils.py +0 -0
  297. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/engine.py +0 -0
  298. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/filesystem.py +0 -0
  299. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/generics.py +0 -0
  300. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/hashing.py +0 -0
  301. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/importtools.py +0 -0
  302. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/math.py +0 -0
  303. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/names.py +0 -0
  304. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/processutils.py +0 -0
  305. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/pydantic.py +0 -0
  306. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/render_swagger.py +0 -0
  307. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  308. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  309. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/schema_tools/validation.py +0 -0
  310. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/services.py +0 -0
  311. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/slugify.py +0 -0
  312. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/templating.py +0 -0
  313. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/text.py +0 -0
  314. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/timeout.py +0 -0
  315. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/urls.py +0 -0
  316. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/utilities/visualization.py +0 -0
  317. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/variables.py +0 -0
  318. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/workers/__init__.py +0 -0
  319. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/workers/base.py +0 -0
  320. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/workers/block.py +0 -0
  321. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/workers/cloud.py +0 -0
  322. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/workers/process.py +0 -0
  323. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/src/prefect/workers/server.py +0 -0
  324. {prefect_client-3.3.5.dev1 → prefect_client-3.3.5.dev2}/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.3.5.dev1
3
+ Version: 3.3.5.dev2
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
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.3.5.dev2"
3
+ __build_date__ = "2025-04-15 08:08:47.936739+00:00"
4
+ __git_commit__ = "85e42e857f676939821a9e31f687468b5c73a502"
5
+ __dirty__ = False
@@ -1,6 +1,8 @@
1
+ from __future__ import annotations
2
+
1
3
  import asyncio
2
4
  import threading
3
- from typing import Any, Optional, TypedDict
5
+ from typing import Any, TypedDict
4
6
 
5
7
  from typing_extensions import Self
6
8
 
@@ -19,7 +21,7 @@ class _LockInfo(TypedDict):
19
21
 
20
22
  holder: str
21
23
  lock: threading.Lock
22
- expiration_timer: Optional[threading.Timer]
24
+ expiration_timer: threading.Timer | None
23
25
 
24
26
 
25
27
  class MemoryLockManager(LockManager):
@@ -63,8 +65,8 @@ class MemoryLockManager(LockManager):
63
65
  self,
64
66
  key: str,
65
67
  holder: str,
66
- acquire_timeout: Optional[float] = None,
67
- hold_timeout: Optional[float] = None,
68
+ acquire_timeout: float | None = None,
69
+ hold_timeout: float | None = None,
68
70
  ) -> bool:
69
71
  with self._locks_dict_lock:
70
72
  if key not in self._locks:
@@ -116,13 +118,13 @@ class MemoryLockManager(LockManager):
116
118
  self,
117
119
  key: str,
118
120
  holder: str,
119
- acquire_timeout: Optional[float] = None,
120
- hold_timeout: Optional[float] = None,
121
+ acquire_timeout: float | None = None,
122
+ hold_timeout: float | None = None,
121
123
  ) -> bool:
122
124
  with self._locks_dict_lock:
123
125
  if key not in self._locks:
124
126
  lock = threading.Lock()
125
- await asyncio.to_thread(lock.acquire)
127
+ lock.acquire()
126
128
  expiration_timer = None
127
129
  if hold_timeout is not None:
128
130
  expiration_timer = threading.Timer(
@@ -192,7 +194,7 @@ class MemoryLockManager(LockManager):
192
194
  and lock_info["holder"] == holder
193
195
  )
194
196
 
195
- def wait_for_lock(self, key: str, timeout: Optional[float] = None) -> bool:
197
+ def wait_for_lock(self, key: str, timeout: float | None = None) -> bool:
196
198
  lock_info: _LockInfo | None = self._locks.get(key)
197
199
  if lock_info is None:
198
200
  return True
@@ -206,7 +208,7 @@ class MemoryLockManager(LockManager):
206
208
  return lock_acquired
207
209
  return True
208
210
 
209
- async def await_for_lock(self, key: str, timeout: Optional[float] = None) -> bool:
211
+ async def await_for_lock(self, key: str, timeout: float | None = None) -> bool:
210
212
  lock_info: _LockInfo | None = self._locks.get(key, None)
211
213
  if lock_info is None:
212
214
  return True
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import asyncio
3
4
  import inspect
4
5
  import os
5
6
  import socket
@@ -33,6 +34,7 @@ from typing_extensions import ParamSpec, Self
33
34
  import prefect
34
35
  import prefect.types._datetime
35
36
  from prefect._internal.compatibility.async_dispatch import async_dispatch
37
+ from prefect._internal.concurrency.event_loop import get_running_loop
36
38
  from prefect._result_records import R, ResultRecord, ResultRecordMetadata
37
39
  from prefect.blocks.core import Block
38
40
  from prefect.exceptions import (
@@ -475,10 +477,17 @@ class ResultStore(BaseModel):
475
477
  Returns:
476
478
  str: A unique identifier string.
477
479
  """
480
+ current_loop = get_running_loop()
478
481
  hostname = socket.gethostname()
479
482
  pid = os.getpid()
480
483
  thread_name = threading.current_thread().name
481
484
  thread_id = threading.get_ident()
485
+ if current_loop:
486
+ current_task = asyncio.current_task()
487
+ if current_task:
488
+ # include the task id to ensure uniqueness because there might be
489
+ # multiple tasks running in the same thread
490
+ return f"{hostname}:{pid}:{thread_id}:{thread_name}:{id(current_task)}"
482
491
  return f"{hostname}:{pid}:{thread_id}:{thread_name}"
483
492
 
484
493
  @sync_compatible
@@ -81,7 +81,13 @@ from prefect.states import (
81
81
  return_value_to_state,
82
82
  )
83
83
  from prefect.telemetry.run_telemetry import RunTelemetry
84
- from prefect.transactions import IsolationLevel, Transaction, transaction
84
+ from prefect.transactions import (
85
+ AsyncTransaction,
86
+ IsolationLevel,
87
+ Transaction,
88
+ atransaction,
89
+ transaction,
90
+ )
85
91
  from prefect.utilities._engine import get_hook_name
86
92
  from prefect.utilities.annotations import NotSet
87
93
  from prefect.utilities.asyncutils import run_coro_as_sync
@@ -1020,7 +1026,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
1020
1026
  # otherwise, return the exception
1021
1027
  return self._raised
1022
1028
 
1023
- async def handle_success(self, result: R, transaction: Transaction) -> R:
1029
+ async def handle_success(self, result: R, transaction: AsyncTransaction) -> R:
1024
1030
  if self.task.cache_expiration is not None:
1025
1031
  expiration = prefect.types._datetime.now("UTC") + self.task.cache_expiration
1026
1032
  else:
@@ -1302,7 +1308,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
1302
1308
  await self.call_hooks()
1303
1309
 
1304
1310
  @asynccontextmanager
1305
- async def transaction_context(self) -> AsyncGenerator[Transaction, None]:
1311
+ async def transaction_context(self) -> AsyncGenerator[AsyncTransaction, None]:
1306
1312
  # refresh cache setting is now repurposes as overwrite transaction record
1307
1313
  overwrite = (
1308
1314
  self.task.refresh_cache
@@ -1317,7 +1323,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
1317
1323
  else None
1318
1324
  )
1319
1325
 
1320
- with transaction(
1326
+ async with atransaction(
1321
1327
  key=self.compute_transaction_key(),
1322
1328
  store=get_result_store(),
1323
1329
  overwrite=overwrite,
@@ -1349,7 +1355,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
1349
1355
  await self.handle_exception(exc)
1350
1356
 
1351
1357
  async def call_task_fn(
1352
- self, transaction: Transaction
1358
+ self, transaction: AsyncTransaction
1353
1359
  ) -> Union[R, Coroutine[Any, Any, R]]:
1354
1360
  """
1355
1361
  Convenience method to call the task function. Returns a coroutine if the
@@ -1357,7 +1363,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
1357
1363
  """
1358
1364
  parameters = self.parameters or {}
1359
1365
  if transaction.is_committed():
1360
- result = transaction.read()
1366
+ result = await transaction.read()
1361
1367
  else:
1362
1368
  result = await call_with_parameters(self.task.fn, parameters)
1363
1369
  await self.handle_success(result, transaction=transaction)
@@ -764,11 +764,6 @@ class Task(Generic[P, R]):
764
764
  def on_rollback(
765
765
  self, fn: Callable[["Transaction"], None]
766
766
  ) -> Callable[["Transaction"], None]:
767
- if asyncio.iscoroutinefunction(fn):
768
- raise ValueError(
769
- "Asynchronous rollback hooks are not yet supported. Rollback hooks must be synchronous functions."
770
- )
771
-
772
767
  self.on_rollback_hooks.append(fn)
773
768
  return fn
774
769