prefect-client 3.4.3.dev1__tar.gz → 3.4.4__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 (330) hide show
  1. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/PKG-INFO +2 -2
  2. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/pyproject.toml +1 -1
  3. prefect_client-3.4.4/src/prefect/_build_info.py +5 -0
  4. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/concurrency/calls.py +37 -1
  5. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/schemas/validators.py +15 -1
  6. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/schemas/objects.py +3 -3
  7. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/clients.py +8 -7
  8. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/tasks.py +5 -0
  9. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/task_engine.py +12 -4
  10. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/task_runners.py +22 -8
  11. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/tasks.py +4 -0
  12. prefect_client-3.4.3.dev1/src/prefect/_build_info.py +0 -5
  13. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/.gitignore +0 -0
  14. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/LICENSE +0 -0
  15. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/README.md +0 -0
  16. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/.prefectignore +0 -0
  17. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/__init__.py +0 -0
  18. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/__main__.py +0 -0
  19. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_experimental/__init__.py +0 -0
  20. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_experimental/bundles/__init__.py +0 -0
  21. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_experimental/bundles/execute.py +0 -0
  22. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_experimental/lineage.py +0 -0
  23. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_experimental/sla/__init__.py +0 -0
  24. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_experimental/sla/client.py +0 -0
  25. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_experimental/sla/objects.py +0 -0
  26. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/__init__.py +0 -0
  27. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/_logging.py +0 -0
  28. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/compatibility/__init__.py +0 -0
  29. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  30. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/compatibility/blocks.py +0 -0
  31. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  32. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/compatibility/migration.py +0 -0
  33. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/concurrency/__init__.py +0 -0
  34. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/concurrency/api.py +0 -0
  35. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  36. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  37. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/concurrency/inspection.py +0 -0
  38. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/concurrency/primitives.py +0 -0
  39. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/concurrency/services.py +0 -0
  40. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/concurrency/threads.py +0 -0
  41. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/concurrency/waiters.py +0 -0
  42. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/integrations.py +0 -0
  43. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/pydantic/__init__.py +0 -0
  44. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/pydantic/schemas.py +0 -0
  45. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  46. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  47. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  48. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/pytz.py +0 -0
  49. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/retries.py +0 -0
  50. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/schemas/__init__.py +0 -0
  51. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/schemas/bases.py +0 -0
  52. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/schemas/fields.py +0 -0
  53. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/schemas/serializers.py +0 -0
  54. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_internal/uuid7.py +0 -0
  55. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_result_records.py +0 -0
  56. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_vendor/croniter/__init__.py +0 -0
  57. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_vendor/croniter/croniter.py +0 -0
  58. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_versioning.py +0 -0
  59. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/_waiters.py +0 -0
  60. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/agent.py +0 -0
  61. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/artifacts.py +0 -0
  62. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/automations.py +0 -0
  63. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/blocks/__init__.py +0 -0
  64. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/blocks/abstract.py +0 -0
  65. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/blocks/core.py +0 -0
  66. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/blocks/fields.py +0 -0
  67. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/blocks/notifications.py +0 -0
  68. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/blocks/redis.py +0 -0
  69. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/blocks/system.py +0 -0
  70. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/blocks/webhook.py +0 -0
  71. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/cache_policies.py +0 -0
  72. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/__init__.py +0 -0
  73. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/base.py +0 -0
  74. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/cloud.py +0 -0
  75. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/collections.py +0 -0
  76. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/constants.py +0 -0
  77. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/__init__.py +0 -0
  78. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  79. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  80. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  81. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_automations/client.py +0 -0
  82. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  83. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  84. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  85. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  86. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  87. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  88. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  89. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  90. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  91. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  92. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  93. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  94. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  95. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_flows/client.py +0 -0
  96. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  97. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_logs/client.py +0 -0
  98. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  99. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_variables/client.py +0 -0
  100. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  101. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  102. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/base.py +0 -0
  103. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/orchestration/routes.py +0 -0
  104. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/schemas/__init__.py +0 -0
  105. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/schemas/actions.py +0 -0
  106. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/schemas/filters.py +0 -0
  107. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/schemas/responses.py +0 -0
  108. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/schemas/schedules.py +0 -0
  109. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/schemas/sorting.py +0 -0
  110. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/subscriptions.py +0 -0
  111. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/types/__init__.py +0 -0
  112. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  113. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/client/utilities.py +0 -0
  114. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/__init__.py +0 -0
  115. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/_asyncio.py +0 -0
  116. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/_events.py +0 -0
  117. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/asyncio.py +0 -0
  118. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/context.py +0 -0
  119. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/services.py +0 -0
  120. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/sync.py +0 -0
  121. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/v1/__init__.py +0 -0
  122. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  123. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/v1/_events.py +0 -0
  124. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/v1/asyncio.py +0 -0
  125. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/v1/context.py +0 -0
  126. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/v1/services.py +0 -0
  127. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/concurrency/v1/sync.py +0 -0
  128. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/context.py +0 -0
  129. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/deployments/__init__.py +0 -0
  130. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/deployments/base.py +0 -0
  131. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/deployments/deployments.py +0 -0
  132. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/deployments/flow_runs.py +0 -0
  133. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/deployments/runner.py +0 -0
  134. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/deployments/schedules.py +0 -0
  135. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/deployments/steps/__init__.py +0 -0
  136. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/deployments/steps/core.py +0 -0
  137. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/deployments/steps/pull.py +0 -0
  138. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/deployments/steps/utility.py +0 -0
  139. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/docker/__init__.py +0 -0
  140. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/docker/docker_image.py +0 -0
  141. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/engine.py +0 -0
  142. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/__init__.py +0 -0
  143. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/actions.py +0 -0
  144. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/cli/__init__.py +0 -0
  145. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/cli/automations.py +0 -0
  146. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/clients.py +0 -0
  147. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/filters.py +0 -0
  148. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/related.py +0 -0
  149. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/schemas/__init__.py +0 -0
  150. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/schemas/automations.py +0 -0
  151. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  152. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/schemas/events.py +0 -0
  153. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/schemas/labelling.py +0 -0
  154. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/utilities.py +0 -0
  155. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/events/worker.py +0 -0
  156. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/exceptions.py +0 -0
  157. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/filesystems.py +0 -0
  158. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/flow_engine.py +0 -0
  159. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/flow_runs.py +0 -0
  160. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/flows.py +0 -0
  161. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/futures.py +0 -0
  162. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/infrastructure/__init__.py +0 -0
  163. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/infrastructure/base.py +0 -0
  164. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  165. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  166. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  167. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  168. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  169. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  170. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/input/__init__.py +0 -0
  171. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/input/actions.py +0 -0
  172. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/input/run_input.py +0 -0
  173. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/locking/__init__.py +0 -0
  174. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/locking/filesystem.py +0 -0
  175. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/locking/memory.py +0 -0
  176. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/locking/protocol.py +0 -0
  177. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/logging/__init__.py +0 -0
  178. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/logging/configuration.py +0 -0
  179. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/logging/filters.py +0 -0
  180. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/logging/formatters.py +0 -0
  181. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/logging/handlers.py +0 -0
  182. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/logging/highlighters.py +0 -0
  183. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/logging/loggers.py +0 -0
  184. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/logging/logging.yml +0 -0
  185. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/main.py +0 -0
  186. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/plugins.py +0 -0
  187. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/py.typed +0 -0
  188. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/results.py +0 -0
  189. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/runner/__init__.py +0 -0
  190. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/runner/_observers.py +0 -0
  191. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/runner/runner.py +0 -0
  192. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/runner/server.py +0 -0
  193. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/runner/storage.py +0 -0
  194. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/runner/submit.py +0 -0
  195. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/runner/utils.py +0 -0
  196. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/runtime/__init__.py +0 -0
  197. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/runtime/deployment.py +0 -0
  198. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/runtime/flow_run.py +0 -0
  199. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/runtime/task_run.py +0 -0
  200. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/schedules.py +0 -0
  201. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/serializers.py +0 -0
  202. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/__init__.py +0 -0
  203. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/admin.py +0 -0
  204. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/artifacts.py +0 -0
  205. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/automations.py +0 -0
  206. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/block_capabilities.py +0 -0
  207. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/block_documents.py +0 -0
  208. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/block_schemas.py +0 -0
  209. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/block_types.py +0 -0
  210. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/collections.py +0 -0
  211. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  212. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/concurrency_limits.py +0 -0
  213. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  214. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/csrf_token.py +0 -0
  215. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/dependencies.py +0 -0
  216. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/deployments.py +0 -0
  217. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/events.py +0 -0
  218. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/flow_run_states.py +0 -0
  219. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/flow_runs.py +0 -0
  220. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/flows.py +0 -0
  221. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/logs.py +0 -0
  222. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/middleware.py +0 -0
  223. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/root.py +0 -0
  224. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/run_history.py +0 -0
  225. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/saved_searches.py +0 -0
  226. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/server.py +0 -0
  227. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  228. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/task_run_states.py +0 -0
  229. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/task_runs.py +0 -0
  230. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/task_workers.py +0 -0
  231. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/templates.py +0 -0
  232. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/ui/__init__.py +0 -0
  233. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/ui/flow_runs.py +0 -0
  234. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/ui/flows.py +0 -0
  235. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/ui/schemas.py +0 -0
  236. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/ui/task_runs.py +0 -0
  237. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/validation.py +0 -0
  238. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/variables.py +0 -0
  239. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/work_queues.py +0 -0
  240. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/server/api/workers.py +0 -0
  241. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/__init__.py +0 -0
  242. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/base.py +0 -0
  243. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/constants.py +0 -0
  244. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/context.py +0 -0
  245. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/legacy.py +0 -0
  246. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/__init__.py +0 -0
  247. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/api.py +0 -0
  248. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/cli.py +0 -0
  249. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/client.py +0 -0
  250. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/cloud.py +0 -0
  251. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/deployments.py +0 -0
  252. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/experiments.py +0 -0
  253. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/flows.py +0 -0
  254. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/internal.py +0 -0
  255. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/logging.py +0 -0
  256. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/results.py +0 -0
  257. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/root.py +0 -0
  258. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/runner.py +0 -0
  259. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/server/__init__.py +0 -0
  260. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/server/api.py +0 -0
  261. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/server/database.py +0 -0
  262. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/server/deployments.py +0 -0
  263. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/server/ephemeral.py +0 -0
  264. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/server/events.py +0 -0
  265. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  266. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/server/root.py +0 -0
  267. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/server/services.py +0 -0
  268. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/server/tasks.py +0 -0
  269. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/server/ui.py +0 -0
  270. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/testing.py +0 -0
  271. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/models/worker.py +0 -0
  272. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/profiles.py +0 -0
  273. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/profiles.toml +0 -0
  274. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/settings/sources.py +0 -0
  275. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/states.py +0 -0
  276. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/task_runs.py +0 -0
  277. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/task_worker.py +0 -0
  278. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/telemetry/__init__.py +0 -0
  279. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/telemetry/bootstrap.py +0 -0
  280. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/telemetry/instrumentation.py +0 -0
  281. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/telemetry/logging.py +0 -0
  282. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/telemetry/processors.py +0 -0
  283. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/telemetry/run_telemetry.py +0 -0
  284. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/telemetry/services.py +0 -0
  285. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/transactions.py +0 -0
  286. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/types/__init__.py +0 -0
  287. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/types/_datetime.py +0 -0
  288. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/types/entrypoint.py +0 -0
  289. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/types/names.py +0 -0
  290. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/__init__.py +0 -0
  291. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/_ast.py +0 -0
  292. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/_deprecated.py +0 -0
  293. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/_engine.py +0 -0
  294. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/_git.py +0 -0
  295. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/annotations.py +0 -0
  296. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/asyncutils.py +0 -0
  297. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/callables.py +0 -0
  298. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/collections.py +0 -0
  299. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/compat.py +0 -0
  300. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/context.py +0 -0
  301. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/dispatch.py +0 -0
  302. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/dockerutils.py +0 -0
  303. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/engine.py +0 -0
  304. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/filesystem.py +0 -0
  305. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/generics.py +0 -0
  306. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/hashing.py +0 -0
  307. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/importtools.py +0 -0
  308. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/math.py +0 -0
  309. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/names.py +0 -0
  310. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/processutils.py +0 -0
  311. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/pydantic.py +0 -0
  312. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/render_swagger.py +0 -0
  313. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  314. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  315. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/schema_tools/validation.py +0 -0
  316. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/services.py +0 -0
  317. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/slugify.py +0 -0
  318. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/templating.py +0 -0
  319. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/text.py +0 -0
  320. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/timeout.py +0 -0
  321. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/urls.py +0 -0
  322. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/utilities/visualization.py +0 -0
  323. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/variables.py +0 -0
  324. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/workers/__init__.py +0 -0
  325. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/workers/base.py +0 -0
  326. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/workers/block.py +0 -0
  327. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/workers/cloud.py +0 -0
  328. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/workers/process.py +0 -0
  329. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/src/prefect/workers/server.py +0 -0
  330. {prefect_client-3.4.3.dev1 → prefect_client-3.4.4}/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.4.3.dev1
3
+ Version: 3.4.4
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
@@ -23,7 +23,7 @@ Classifier: Topic :: Software Development :: Libraries
23
23
  Requires-Python: <3.14,>=3.9
24
24
  Requires-Dist: anyio<5.0.0,>=4.4.0
25
25
  Requires-Dist: asgi-lifespan<3.0,>=1.0
26
- Requires-Dist: cachetools<6.0,>=5.3
26
+ Requires-Dist: cachetools<7.0,>=5.3
27
27
  Requires-Dist: cloudpickle<4.0,>=2.0
28
28
  Requires-Dist: coolname<3.0.0,>=1.0.4
29
29
  Requires-Dist: dateparser<2.0.0,>=1.1.1
@@ -27,7 +27,7 @@ dependencies = [
27
27
  # Client dependencies
28
28
  "anyio>=4.4.0,<5.0.0",
29
29
  "asgi-lifespan>=1.0,<3.0",
30
- "cachetools>=5.3,<6.0",
30
+ "cachetools>=5.3,<7.0",
31
31
  "cloudpickle>=2.0,<4.0",
32
32
  "coolname>=1.0.4,<3.0.0",
33
33
  "dateparser>=1.1.1,<2.0.0",
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.4.4"
3
+ __build_date__ = "2025-05-29 21:36:59.371770+00:00"
4
+ __git_commit__ = "0367d7aa7939aa1a26152a9db9997a75aadd6e3b"
5
+ __dirty__ = False
@@ -222,7 +222,7 @@ class Future(concurrent.futures.Future[T]):
222
222
  self._cancel_scope = None
223
223
 
224
224
 
225
- @dataclasses.dataclass
225
+ @dataclasses.dataclass(eq=False)
226
226
  class Call(Generic[T]):
227
227
  """
228
228
  A deferred function call.
@@ -236,6 +236,42 @@ class Call(Generic[T]):
236
236
  timeout: Optional[float]
237
237
  runner: Optional["Portal"] = None
238
238
 
239
+ def __eq__(self, other: object) -> bool:
240
+ """this is to avoid attempts at invalid access of args/kwargs in <3.13 stemming from the
241
+ auto-generated __eq__ method on the dataclass.
242
+
243
+ this will no longer be required in 3.13+, see https://github.com/python/cpython/issues/128294
244
+ """
245
+ if self is other:
246
+ return True
247
+ if not isinstance(other, Call):
248
+ return NotImplemented
249
+
250
+ try:
251
+ # Attempt to access args/kwargs. If any are missing on self or other,
252
+ # an AttributeError will be raised by the access attempt on one of them.
253
+ s_args, s_kwargs = self.args, self.kwargs
254
+ o_args, o_kwargs = other.args, other.kwargs
255
+ except AttributeError:
256
+ # If args/kwargs are missing on self or other (and self is not other),
257
+ # they are considered not equal. This ensures that a Call with deleted
258
+ # args/kwargs compares as different from one that still has them
259
+ return False
260
+
261
+ # If all args/kwargs were accessible on both, proceed with full field comparison.
262
+ # Note: self.future == other.future will use Future's __eq__ (default is identity).
263
+ return (
264
+ (self.future == other.future)
265
+ and (self.fn == other.fn)
266
+ and (s_args == o_args)
267
+ and (s_kwargs == o_kwargs)
268
+ and (self.context == other.context)
269
+ and (self.timeout == other.timeout)
270
+ and (self.runner == other.runner)
271
+ )
272
+
273
+ __hash__ = None # type: ignore
274
+
239
275
  @classmethod
240
276
  def new(
241
277
  cls,
@@ -402,6 +402,18 @@ def validate_compressionlib(value: str) -> str:
402
402
 
403
403
 
404
404
  # TODO: if we use this elsewhere we can change the error message to be more generic
405
+ @overload
406
+ def list_length_50_or_less(v: int) -> int: ...
407
+
408
+
409
+ @overload
410
+ def list_length_50_or_less(v: float) -> float: ...
411
+
412
+
413
+ @overload
414
+ def list_length_50_or_less(v: list[int]) -> list[int]: ...
415
+
416
+
405
417
  @overload
406
418
  def list_length_50_or_less(v: list[float]) -> list[float]: ...
407
419
 
@@ -410,7 +422,9 @@ def list_length_50_or_less(v: list[float]) -> list[float]: ...
410
422
  def list_length_50_or_less(v: None) -> None: ...
411
423
 
412
424
 
413
- def list_length_50_or_less(v: Optional[list[float]]) -> Optional[list[float]]:
425
+ def list_length_50_or_less(
426
+ v: Optional[int | float | list[int] | list[float]],
427
+ ) -> Optional[int | float | list[int] | list[float]]:
414
428
  if isinstance(v, list) and (len(v) > 50):
415
429
  raise ValueError("Can not configure more than 50 retry delays per task.")
416
430
  return v
@@ -698,7 +698,7 @@ class TaskRunPolicy(PrefectBaseModel):
698
698
  deprecated=True,
699
699
  )
700
700
  retries: Optional[int] = Field(default=None, description="The number of retries.")
701
- retry_delay: Union[None, int, list[int]] = Field(
701
+ retry_delay: Union[None, int, float, list[int], list[float]] = Field(
702
702
  default=None,
703
703
  description="A delay time or list of delay times between retries, in seconds.",
704
704
  )
@@ -728,8 +728,8 @@ class TaskRunPolicy(PrefectBaseModel):
728
728
  @field_validator("retry_delay")
729
729
  @classmethod
730
730
  def validate_configured_retry_delays(
731
- cls, v: Optional[list[float]]
732
- ) -> Optional[list[float]]:
731
+ cls, v: Optional[int | float | list[int] | list[float]]
732
+ ) -> Optional[int | float | list[int] | list[float]]:
733
733
  return list_length_50_or_less(v)
734
734
 
735
735
  @field_validator("retry_jitter_factor")
@@ -18,7 +18,7 @@ from prefect.server.schemas.actions import DeploymentFlowRunCreate, StateCreate
18
18
  from prefect.server.schemas.core import WorkPool
19
19
  from prefect.server.schemas.filters import VariableFilter, VariableFilterName
20
20
  from prefect.server.schemas.responses import DeploymentResponse, OrchestrationResult
21
- from prefect.settings import PREFECT_SERVER_API_AUTH_STRING
21
+ from prefect.settings import get_current_settings
22
22
  from prefect.types import StrictVariableValue
23
23
 
24
24
  if TYPE_CHECKING:
@@ -39,18 +39,19 @@ class BaseClient:
39
39
  # will point it to the the currently running server instance
40
40
  api_app = create_app()
41
41
 
42
- # we pull the auth string from _server_ settings because this client is run on the server
43
- auth_string = PREFECT_SERVER_API_AUTH_STRING.value()
42
+ settings = get_current_settings()
44
43
 
45
- if auth_string:
46
- token = base64.b64encode(auth_string.encode("utf-8")).decode("utf-8")
47
- additional_headers.setdefault("Authorization", f"Basic {token}")
44
+ # we pull the auth string from _server_ settings because this client is run on the server
45
+ if auth_string_secret := settings.server.api.auth_string:
46
+ if auth_string := auth_string_secret.get_secret_value():
47
+ token = base64.b64encode(auth_string.encode("utf-8")).decode("utf-8")
48
+ additional_headers.setdefault("Authorization", f"Basic {token}")
48
49
 
49
50
  self._http_client = PrefectHttpxAsyncClient(
50
51
  transport=httpx.ASGITransport(app=api_app, raise_app_exceptions=False),
51
52
  headers={**additional_headers},
52
53
  base_url="http://prefect-in-memory/api",
53
- enable_csrf_support=False,
54
+ enable_csrf_support=settings.server.api.csrf_protection_enabled,
54
55
  raise_on_all_errors=False,
55
56
  )
56
57
 
@@ -63,6 +63,11 @@ class TasksSettings(PrefectBaseSettings):
63
63
  description="If `True`, sets the default cache policy on all tasks to `NO_CACHE`.",
64
64
  )
65
65
 
66
+ disable_caching: bool = Field(
67
+ default=False,
68
+ description="If `True`, disables caching on all tasks regardless of cache policy.",
69
+ )
70
+
66
71
  default_retries: int = Field(
67
72
  default=0,
68
73
  ge=0,
@@ -546,9 +546,13 @@ class SyncTaskRunEngine(BaseTaskRunEngine[P, R]):
546
546
  self.retries: int = self.retries + 1
547
547
  return True
548
548
  elif self.retries >= self.task.retries:
549
+ retry_message_suffix = (
550
+ "Retries are exhausted"
551
+ if self.task.retries > 0
552
+ else "No retries configured for this task."
553
+ )
549
554
  self.logger.error(
550
- "Task run failed with exception: %r - Retries are exhausted",
551
- exc,
555
+ f"Task run failed with exception: {exc!r} - {retry_message_suffix}",
552
556
  exc_info=True,
553
557
  )
554
558
  return False
@@ -1096,9 +1100,13 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
1096
1100
  self.retries: int = self.retries + 1
1097
1101
  return True
1098
1102
  elif self.retries >= self.task.retries:
1103
+ retry_message_suffix = (
1104
+ "Retries are exhausted"
1105
+ if self.task.retries > 0
1106
+ else "No retries configured for this task."
1107
+ )
1099
1108
  self.logger.error(
1100
- "Task run failed with exception: %r - Retries are exhausted",
1101
- exc,
1109
+ f"Task run failed with exception: {exc!r} - {retry_message_suffix}",
1102
1110
  exc_info=True,
1103
1111
  )
1104
1112
  return False
@@ -11,11 +11,8 @@ from typing import (
11
11
  TYPE_CHECKING,
12
12
  Any,
13
13
  Coroutine,
14
- Dict,
15
14
  Generic,
16
15
  Iterable,
17
- List,
18
- Optional,
19
16
  overload,
20
17
  )
21
18
 
@@ -110,7 +107,7 @@ class TaskRunner(abc.ABC, Generic[F]):
110
107
  self,
111
108
  task: "Task[P, R]",
112
109
  parameters: dict[str, Any | unmapped[Any] | allow_failure[Any]],
113
- wait_for: Optional[Iterable[PrefectFuture[R]]] = None,
110
+ wait_for: Iterable[PrefectFuture[R]] | None = None,
114
111
  ) -> PrefectFutureList[F]:
115
112
  """
116
113
  Submit multiple tasks to the task run engine.
@@ -183,7 +180,7 @@ class TaskRunner(abc.ABC, Generic[F]):
183
180
 
184
181
  map_length = list(lengths)[0]
185
182
 
186
- futures: List[PrefectFuture[Any]] = []
183
+ futures: list[PrefectFuture[Any]] = []
187
184
  for i in range(map_length):
188
185
  call_parameters: dict[str, Any] = {
189
186
  key: value[i] for key, value in iterable_parameters.items()
@@ -229,15 +226,32 @@ class TaskRunner(abc.ABC, Generic[F]):
229
226
 
230
227
 
231
228
  class ThreadPoolTaskRunner(TaskRunner[PrefectConcurrentFuture[R]]):
232
- def __init__(self, max_workers: Optional[int] = None):
229
+ """
230
+ A task runner that executes tasks in a separate thread pool.
231
+
232
+ Attributes:
233
+ max_workers: The maximum number of threads to use for executing tasks.
234
+ Defaults to `PREFECT_TASK_RUNNER_THREAD_POOL_MAX_WORKERS` or `sys.maxsize`.
235
+
236
+ Note:
237
+ This runner uses `contextvars.copy_context()` for thread-safe context propagation.
238
+ However, because contextvars are thread-local, frequent task submissions
239
+ that modify context (e.g., using `prefect.tags` in a loop) can lead to
240
+ new thread creation per task. This may cause an increase in threads and
241
+ file descriptors, potentially hitting OS limits (`OSError: Too many open files`).
242
+ If this occurs, consider minimizing context changes within looped tasks or
243
+ adjusting system limits for open file descriptors.
244
+ """
245
+
246
+ def __init__(self, max_workers: int | None = None):
233
247
  super().__init__()
234
- self._executor: Optional[ThreadPoolExecutor] = None
248
+ self._executor: ThreadPoolExecutor | None = None
235
249
  self._max_workers = (
236
250
  (PREFECT_TASK_RUNNER_THREAD_POOL_MAX_WORKERS.value() or sys.maxsize)
237
251
  if max_workers is None
238
252
  else max_workers
239
253
  )
240
- self._cancel_events: Dict[uuid.UUID, threading.Event] = {}
254
+ self._cancel_events: dict[uuid.UUID, threading.Event] = {}
241
255
 
242
256
  def duplicate(self) -> "ThreadPoolTaskRunner[R]":
243
257
  return type(self)(max_workers=self._max_workers)
@@ -466,6 +466,10 @@ class Task(Generic[P, R]):
466
466
  ):
467
467
  persist_result = True
468
468
 
469
+ # Check for global cache disable setting
470
+ if settings.tasks.disable_caching:
471
+ cache_policy = NO_CACHE
472
+
469
473
  if persist_result is False:
470
474
  self.cache_policy = None if cache_policy is None else NO_CACHE
471
475
  if cache_policy and cache_policy is not NotSet and cache_policy != NO_CACHE:
@@ -1,5 +0,0 @@
1
- # Generated by versioningit
2
- __version__ = "3.4.3.dev1"
3
- __build_date__ = "2025-05-20 08:09:25.169022+00:00"
4
- __git_commit__ = "26c5fa05c23e2bffcdb97596e083a490352e332d"
5
- __dirty__ = False