prefect-client 3.1.3__tar.gz → 3.1.5__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 (253) hide show
  1. {prefect-client-3.1.3/src/prefect_client.egg-info → prefect-client-3.1.5}/PKG-INFO +1 -3
  2. {prefect-client-3.1.3 → prefect-client-3.1.5}/README.md +0 -2
  3. {prefect-client-3.1.3 → prefect-client-3.1.5}/requirements-client.txt +1 -1
  4. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_version.py +3 -3
  5. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/cloud.py +1 -1
  6. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/orchestration.py +32 -12
  7. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/schemas/actions.py +17 -12
  8. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/schemas/filters.py +5 -0
  9. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/schemas/objects.py +5 -31
  10. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/schemas/responses.py +3 -0
  11. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/services.py +3 -0
  12. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/deployments/runner.py +2 -1
  13. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/flow_engine.py +707 -130
  14. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/sources.py +9 -2
  15. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/types/__init__.py +40 -3
  16. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/workers/base.py +3 -2
  17. {prefect-client-3.1.3 → prefect-client-3.1.5/src/prefect_client.egg-info}/PKG-INFO +1 -3
  18. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect_client.egg-info/requires.txt +1 -1
  19. {prefect-client-3.1.3 → prefect-client-3.1.5}/LICENSE +0 -0
  20. {prefect-client-3.1.3 → prefect-client-3.1.5}/MANIFEST.in +0 -0
  21. {prefect-client-3.1.3 → prefect-client-3.1.5}/requirements-dev.txt +0 -0
  22. {prefect-client-3.1.3 → prefect-client-3.1.5}/requirements.txt +0 -0
  23. {prefect-client-3.1.3 → prefect-client-3.1.5}/setup.cfg +0 -0
  24. {prefect-client-3.1.3 → prefect-client-3.1.5}/setup.py +0 -0
  25. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/.prefectignore +0 -0
  26. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/__init__.py +0 -0
  27. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/__init__.py +0 -0
  28. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/_logging.py +0 -0
  29. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/compatibility/__init__.py +0 -0
  30. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  31. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  32. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/compatibility/migration.py +0 -0
  33. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/concurrency/__init__.py +0 -0
  34. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/concurrency/api.py +0 -0
  35. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/concurrency/calls.py +0 -0
  36. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  37. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  38. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/concurrency/inspection.py +0 -0
  39. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/concurrency/primitives.py +0 -0
  40. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/concurrency/services.py +0 -0
  41. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/concurrency/threads.py +0 -0
  42. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/concurrency/waiters.py +0 -0
  43. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/integrations.py +0 -0
  44. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/pydantic/__init__.py +0 -0
  45. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/pydantic/annotations/__init__.py +0 -0
  46. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/pydantic/annotations/pendulum.py +0 -0
  47. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/pydantic/schemas.py +0 -0
  48. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  49. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  50. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  51. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/pytz.py +0 -0
  52. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/retries.py +0 -0
  53. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/schemas/__init__.py +0 -0
  54. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/schemas/bases.py +0 -0
  55. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/schemas/fields.py +0 -0
  56. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/schemas/serializers.py +0 -0
  57. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/_internal/schemas/validators.py +0 -0
  58. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/agent.py +0 -0
  59. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/artifacts.py +0 -0
  60. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/automations.py +0 -0
  61. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/blocks/__init__.py +0 -0
  62. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/blocks/abstract.py +0 -0
  63. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/blocks/core.py +0 -0
  64. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/blocks/fields.py +0 -0
  65. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/blocks/notifications.py +0 -0
  66. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/blocks/redis.py +0 -0
  67. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/blocks/system.py +0 -0
  68. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/blocks/webhook.py +0 -0
  69. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/cache_policies.py +0 -0
  70. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/__init__.py +0 -0
  71. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/base.py +0 -0
  72. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/collections.py +0 -0
  73. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/constants.py +0 -0
  74. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/schemas/__init__.py +0 -0
  75. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/schemas/schedules.py +0 -0
  76. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/schemas/sorting.py +0 -0
  77. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/subscriptions.py +0 -0
  78. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/types/__init__.py +0 -0
  79. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  80. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/client/utilities.py +0 -0
  81. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/__init__.py +0 -0
  82. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/asyncio.py +0 -0
  83. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/context.py +0 -0
  84. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/events.py +0 -0
  85. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/sync.py +0 -0
  86. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/v1/__init__.py +0 -0
  87. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/v1/asyncio.py +0 -0
  88. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/v1/context.py +0 -0
  89. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/v1/events.py +0 -0
  90. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/v1/services.py +0 -0
  91. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/concurrency/v1/sync.py +0 -0
  92. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/context.py +0 -0
  93. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/deployments/__init__.py +0 -0
  94. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/deployments/base.py +0 -0
  95. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/deployments/deployments.py +0 -0
  96. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/deployments/flow_runs.py +0 -0
  97. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/deployments/schedules.py +0 -0
  98. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/deployments/steps/__init__.py +0 -0
  99. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/deployments/steps/core.py +0 -0
  100. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/deployments/steps/pull.py +0 -0
  101. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/deployments/steps/utility.py +0 -0
  102. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/docker/__init__.py +0 -0
  103. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/docker/docker_image.py +0 -0
  104. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/engine.py +0 -0
  105. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/__init__.py +0 -0
  106. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/actions.py +0 -0
  107. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/cli/__init__.py +0 -0
  108. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/cli/automations.py +0 -0
  109. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/clients.py +0 -0
  110. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/filters.py +0 -0
  111. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/related.py +0 -0
  112. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/schemas/__init__.py +0 -0
  113. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/schemas/automations.py +0 -0
  114. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  115. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/schemas/events.py +0 -0
  116. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/schemas/labelling.py +0 -0
  117. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/utilities.py +0 -0
  118. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/events/worker.py +0 -0
  119. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/exceptions.py +0 -0
  120. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/filesystems.py +0 -0
  121. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/flow_runs.py +0 -0
  122. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/flows.py +0 -0
  123. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/futures.py +0 -0
  124. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/infrastructure/__init__.py +0 -0
  125. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/infrastructure/base.py +0 -0
  126. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  127. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  128. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  129. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  130. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  131. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/input/__init__.py +0 -0
  132. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/input/actions.py +0 -0
  133. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/input/run_input.py +0 -0
  134. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/locking/__init__.py +0 -0
  135. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/locking/filesystem.py +0 -0
  136. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/locking/memory.py +0 -0
  137. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/locking/protocol.py +0 -0
  138. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/logging/__init__.py +0 -0
  139. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/logging/configuration.py +0 -0
  140. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/logging/filters.py +0 -0
  141. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/logging/formatters.py +0 -0
  142. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/logging/handlers.py +0 -0
  143. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/logging/highlighters.py +0 -0
  144. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/logging/loggers.py +0 -0
  145. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/logging/logging.yml +0 -0
  146. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/main.py +0 -0
  147. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/plugins.py +0 -0
  148. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/py.typed +0 -0
  149. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/records/__init__.py +0 -0
  150. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/records/base.py +0 -0
  151. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/records/filesystem.py +0 -0
  152. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/records/memory.py +0 -0
  153. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/records/result_store.py +0 -0
  154. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/results.py +0 -0
  155. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/runner/__init__.py +0 -0
  156. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/runner/runner.py +0 -0
  157. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/runner/server.py +0 -0
  158. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/runner/storage.py +0 -0
  159. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/runner/submit.py +0 -0
  160. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/runner/utils.py +0 -0
  161. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/runtime/__init__.py +0 -0
  162. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/runtime/deployment.py +0 -0
  163. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/runtime/flow_run.py +0 -0
  164. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/runtime/task_run.py +0 -0
  165. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/serializers.py +0 -0
  166. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  167. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  168. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/__init__.py +0 -0
  169. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/base.py +0 -0
  170. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/constants.py +0 -0
  171. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/context.py +0 -0
  172. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/legacy.py +0 -0
  173. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/__init__.py +0 -0
  174. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/api.py +0 -0
  175. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/cli.py +0 -0
  176. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/client.py +0 -0
  177. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/cloud.py +0 -0
  178. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/deployments.py +0 -0
  179. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/experiments.py +0 -0
  180. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/flows.py +0 -0
  181. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/internal.py +0 -0
  182. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/logging.py +0 -0
  183. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/results.py +0 -0
  184. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/root.py +0 -0
  185. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/runner.py +0 -0
  186. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/server/__init__.py +0 -0
  187. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/server/api.py +0 -0
  188. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/server/database.py +0 -0
  189. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/server/deployments.py +0 -0
  190. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/server/ephemeral.py +0 -0
  191. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/server/events.py +0 -0
  192. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  193. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/server/root.py +0 -0
  194. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/server/services.py +0 -0
  195. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/server/tasks.py +0 -0
  196. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/server/ui.py +0 -0
  197. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/tasks.py +0 -0
  198. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/testing.py +0 -0
  199. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/models/worker.py +0 -0
  200. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/profiles.py +0 -0
  201. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/settings/profiles.toml +0 -0
  202. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/states.py +0 -0
  203. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/task_engine.py +0 -0
  204. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/task_runners.py +0 -0
  205. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/task_runs.py +0 -0
  206. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/task_worker.py +0 -0
  207. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/tasks.py +0 -0
  208. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/telemetry/__init__.py +0 -0
  209. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/telemetry/bootstrap.py +0 -0
  210. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/telemetry/instrumentation.py +0 -0
  211. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/telemetry/logging.py +0 -0
  212. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/telemetry/processors.py +0 -0
  213. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/transactions.py +0 -0
  214. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/types/entrypoint.py +0 -0
  215. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/__init__.py +0 -0
  216. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/annotations.py +0 -0
  217. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/asyncutils.py +0 -0
  218. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/callables.py +0 -0
  219. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/collections.py +0 -0
  220. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/compat.py +0 -0
  221. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/context.py +0 -0
  222. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/dispatch.py +0 -0
  223. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/dockerutils.py +0 -0
  224. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/engine.py +0 -0
  225. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/filesystem.py +0 -0
  226. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/hashing.py +0 -0
  227. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/importtools.py +0 -0
  228. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/math.py +0 -0
  229. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/names.py +0 -0
  230. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/processutils.py +0 -0
  231. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/pydantic.py +0 -0
  232. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/render_swagger.py +0 -0
  233. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  234. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  235. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/schema_tools/validation.py +0 -0
  236. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/services.py +0 -0
  237. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/slugify.py +0 -0
  238. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/templating.py +0 -0
  239. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/text.py +0 -0
  240. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/timeout.py +0 -0
  241. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/urls.py +0 -0
  242. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/utilities/visualization.py +0 -0
  243. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/variables.py +0 -0
  244. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/workers/__init__.py +0 -0
  245. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/workers/block.py +0 -0
  246. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/workers/cloud.py +0 -0
  247. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/workers/process.py +0 -0
  248. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/workers/server.py +0 -0
  249. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect/workers/utilities.py +0 -0
  250. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect_client.egg-info/SOURCES.txt +0 -0
  251. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect_client.egg-info/dependency_links.txt +0 -0
  252. {prefect-client-3.1.3 → prefect-client-3.1.5}/src/prefect_client.egg-info/top_level.txt +0 -0
  253. {prefect-client-3.1.3 → prefect-client-3.1.5}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 3.1.3
3
+ Version: 3.1.5
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -40,8 +40,6 @@ License-File: LICENSE
40
40
  <br>
41
41
  <a href="https://prefect.io/slack" alt="Slack">
42
42
  <img src="https://img.shields.io/badge/slack-join_community-red.svg?color=0052FF&labelColor=090422&logo=slack" /></a>
43
- <a href="https://discourse.prefect.io/" alt="Discourse">
44
- <img src="https://img.shields.io/badge/discourse-browse_forum-red.svg?color=0052FF&labelColor=090422&logo=discourse" /></a>
45
43
  <a href="https://www.youtube.com/c/PrefectIO/" alt="YouTube">
46
44
  <img src="https://img.shields.io/badge/youtube-watch_videos-red.svg?color=0052FF&labelColor=090422&logo=youtube" /></a>
47
45
  </p>
@@ -12,8 +12,6 @@
12
12
  <br>
13
13
  <a href="https://prefect.io/slack" alt="Slack">
14
14
  <img src="https://img.shields.io/badge/slack-join_community-red.svg?color=0052FF&labelColor=090422&logo=slack" /></a>
15
- <a href="https://discourse.prefect.io/" alt="Discourse">
16
- <img src="https://img.shields.io/badge/discourse-browse_forum-red.svg?color=0052FF&labelColor=090422&logo=discourse" /></a>
17
15
  <a href="https://www.youtube.com/c/PrefectIO/" alt="YouTube">
18
16
  <img src="https://img.shields.io/badge/youtube-watch_videos-red.svg?color=0052FF&labelColor=090422&logo=youtube" /></a>
19
17
  </p>
@@ -20,7 +20,7 @@ packaging >= 21.3, < 24.3
20
20
  pathspec >= 0.8.0
21
21
  pendulum >= 3.0.0, <4
22
22
  prometheus-client >= 0.20.0
23
- pydantic >= 2.7, < 3.0.0
23
+ pydantic >= 2.7, < 3.0.0, != 2.10.0
24
24
  pydantic_core >= 2.12.0, < 3.0.0
25
25
  pydantic_extra_types >= 2.8.2, < 3.0.0
26
26
  pydantic_settings > 2.2.1
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-11-19T15:25:34-0600",
11
+ "date": "2024-12-02T18:57:11-0600",
12
12
  "dirty": true,
13
13
  "error": null,
14
- "full-revisionid": "39b6028cea9f2b0437546ba13cc08bb3bf6d94a4",
15
- "version": "3.1.3"
14
+ "full-revisionid": "3c06654ec8be4f9e9bf5c304814f163b7727d28e",
15
+ "version": "3.1.5"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -13,7 +13,6 @@ from prefect.client.base import PrefectHttpxAsyncClient
13
13
  from prefect.client.schemas.objects import (
14
14
  IPAllowlist,
15
15
  IPAllowlistMyAccessResponse,
16
- KeyValueLabels,
17
16
  Workspace,
18
17
  )
19
18
  from prefect.exceptions import ObjectNotFound, PrefectException
@@ -23,6 +22,7 @@ from prefect.settings import (
23
22
  PREFECT_CLOUD_API_URL,
24
23
  PREFECT_TESTING_UNIT_TEST_MODE,
25
24
  )
25
+ from prefect.types import KeyValueLabels
26
26
 
27
27
  PARSE_API_URL_REGEX = re.compile(r"accounts/(.{36})/workspaces/(.{36})")
28
28
 
@@ -1,5 +1,6 @@
1
1
  import asyncio
2
2
  import datetime
3
+ import ssl
3
4
  import warnings
4
5
  from contextlib import AsyncExitStack
5
6
  from typing import (
@@ -283,12 +284,18 @@ class PrefectClient:
283
284
  httpx_settings.setdefault("headers", {})
284
285
 
285
286
  if PREFECT_API_TLS_INSECURE_SKIP_VERIFY:
286
- httpx_settings.setdefault("verify", False)
287
+ # Create an unverified context for insecure connections
288
+ ctx = ssl.create_default_context()
289
+ ctx.check_hostname = False
290
+ ctx.verify_mode = ssl.CERT_NONE
291
+ httpx_settings.setdefault("verify", ctx)
287
292
  else:
288
293
  cert_file = PREFECT_API_SSL_CERT_FILE.value()
289
294
  if not cert_file:
290
295
  cert_file = certifi.where()
291
- httpx_settings.setdefault("verify", cert_file)
296
+ # Create a verified context with the certificate file
297
+ ctx = ssl.create_default_context(cafile=cert_file)
298
+ httpx_settings.setdefault("verify", ctx)
292
299
 
293
300
  if api_version is None:
294
301
  api_version = SERVER_API_VERSION
@@ -2209,6 +2216,13 @@ class PrefectClient:
2209
2216
  response.json()
2210
2217
  )
2211
2218
 
2219
+ async def set_flow_run_name(self, flow_run_id: UUID, name: str):
2220
+ flow_run_data = FlowRunUpdate(name=name)
2221
+ return await self._client.patch(
2222
+ f"/flow_runs/{flow_run_id}",
2223
+ json=flow_run_data.model_dump(mode="json", exclude_unset=True),
2224
+ )
2225
+
2212
2226
  async def set_task_run_name(self, task_run_id: UUID, name: str):
2213
2227
  task_run_data = TaskRunUpdate(name=name)
2214
2228
  return await self._client.patch(
@@ -3534,12 +3548,18 @@ class SyncPrefectClient:
3534
3548
  httpx_settings.setdefault("headers", {})
3535
3549
 
3536
3550
  if PREFECT_API_TLS_INSECURE_SKIP_VERIFY:
3537
- httpx_settings.setdefault("verify", False)
3551
+ # Create an unverified context for insecure connections
3552
+ ctx = ssl.create_default_context()
3553
+ ctx.check_hostname = False
3554
+ ctx.verify_mode = ssl.CERT_NONE
3555
+ httpx_settings.setdefault("verify", ctx)
3538
3556
  else:
3539
3557
  cert_file = PREFECT_API_SSL_CERT_FILE.value()
3540
3558
  if not cert_file:
3541
3559
  cert_file = certifi.where()
3542
- httpx_settings.setdefault("verify", cert_file)
3560
+ # Create a verified context with the certificate file
3561
+ ctx = ssl.create_default_context(cafile=cert_file)
3562
+ httpx_settings.setdefault("verify", ctx)
3543
3563
 
3544
3564
  if api_version is None:
3545
3565
  api_version = SERVER_API_VERSION
@@ -3925,13 +3945,13 @@ class SyncPrefectClient:
3925
3945
  def read_flow_runs(
3926
3946
  self,
3927
3947
  *,
3928
- flow_filter: FlowFilter = None,
3929
- flow_run_filter: FlowRunFilter = None,
3930
- task_run_filter: TaskRunFilter = None,
3931
- deployment_filter: DeploymentFilter = None,
3932
- work_pool_filter: WorkPoolFilter = None,
3933
- work_queue_filter: WorkQueueFilter = None,
3934
- sort: FlowRunSort = None,
3948
+ flow_filter: Optional[FlowFilter] = None,
3949
+ flow_run_filter: Optional[FlowRunFilter] = None,
3950
+ task_run_filter: Optional[TaskRunFilter] = None,
3951
+ deployment_filter: Optional[DeploymentFilter] = None,
3952
+ work_pool_filter: Optional[WorkPoolFilter] = None,
3953
+ work_queue_filter: Optional[WorkQueueFilter] = None,
3954
+ sort: Optional[FlowRunSort] = None,
3935
3955
  limit: Optional[int] = None,
3936
3956
  offset: int = 0,
3937
3957
  ) -> List[FlowRun]:
@@ -4019,7 +4039,7 @@ class SyncPrefectClient:
4019
4039
  return OrchestrationResult.model_validate(response.json())
4020
4040
 
4021
4041
  def set_flow_run_name(self, flow_run_id: UUID, name: str):
4022
- flow_run_data = TaskRunUpdate(name=name)
4042
+ flow_run_data = FlowRunUpdate(name=name)
4023
4043
  return self._client.patch(
4024
4044
  f"/flow_runs/{flow_run_id}",
4025
4045
  json=flow_run_data.model_dump(mode="json", exclude_unset=True),
@@ -27,6 +27,7 @@ from prefect.client.schemas.schedules import SCHEDULE_TYPES
27
27
  from prefect.settings import PREFECT_DEPLOYMENT_SCHEDULE_MAX_SCHEDULED_RUNS
28
28
  from prefect.types import (
29
29
  MAX_VARIABLE_NAME_LENGTH,
30
+ KeyValueLabelsField,
30
31
  Name,
31
32
  NonEmptyishName,
32
33
  NonNegativeFloat,
@@ -66,6 +67,7 @@ class FlowCreate(ActionBaseModel):
66
67
  description="A list of flow tags",
67
68
  examples=[["tag-1", "tag-2"]],
68
69
  )
70
+ labels: KeyValueLabelsField
69
71
 
70
72
 
71
73
  class FlowUpdate(ActionBaseModel):
@@ -159,6 +161,7 @@ class DeploymentCreate(ActionBaseModel):
159
161
  description="Parameters for flow runs scheduled by the deployment.",
160
162
  )
161
163
  tags: List[str] = Field(default_factory=list)
164
+ labels: KeyValueLabelsField
162
165
  pull_steps: Optional[List[dict]] = Field(None)
163
166
 
164
167
  work_queue_name: Optional[str] = Field(None)
@@ -315,6 +318,7 @@ class TaskRunCreate(ActionBaseModel):
315
318
  default_factory=objects.TaskRunPolicy,
316
319
  )
317
320
  tags: List[str] = Field(default_factory=list)
321
+ labels: KeyValueLabelsField
318
322
  task_inputs: Dict[
319
323
  str,
320
324
  List[
@@ -357,6 +361,7 @@ class FlowRunCreate(ActionBaseModel):
357
361
  default_factory=objects.FlowRunPolicy
358
362
  )
359
363
  tags: List[str] = Field(default_factory=list)
364
+ labels: KeyValueLabelsField
360
365
  idempotency_key: Optional[str] = Field(None)
361
366
 
362
367
 
@@ -697,23 +702,23 @@ class FlowRunNotificationPolicyCreate(ActionBaseModel):
697
702
  class FlowRunNotificationPolicyUpdate(ActionBaseModel):
698
703
  """Data used by the Prefect REST API to update a flow run notification policy."""
699
704
 
700
- is_active: Optional[bool] = Field(None)
701
- state_names: Optional[List[str]] = Field(None)
702
- tags: Optional[List[str]] = Field(None)
703
- block_document_id: Optional[UUID] = Field(None)
704
- message_template: Optional[str] = Field(None)
705
+ is_active: Optional[bool] = Field(default=None)
706
+ state_names: Optional[List[str]] = Field(default=None)
707
+ tags: Optional[List[str]] = Field(default=None)
708
+ block_document_id: Optional[UUID] = Field(default=None)
709
+ message_template: Optional[str] = Field(default=None)
705
710
 
706
711
 
707
712
  class ArtifactCreate(ActionBaseModel):
708
713
  """Data used by the Prefect REST API to create an artifact."""
709
714
 
710
- key: Optional[str] = Field(None)
711
- type: Optional[str] = Field(None)
712
- description: Optional[str] = Field(None)
713
- data: Optional[Union[Dict[str, Any], Any]] = Field(None)
714
- metadata_: Optional[Dict[str, str]] = Field(None)
715
- flow_run_id: Optional[UUID] = Field(None)
716
- task_run_id: Optional[UUID] = Field(None)
715
+ key: Optional[str] = Field(default=None)
716
+ type: Optional[str] = Field(default=None)
717
+ description: Optional[str] = Field(default=None)
718
+ data: Optional[Union[Dict[str, Any], Any]] = Field(default=None)
719
+ metadata_: Optional[Dict[str, str]] = Field(default=None)
720
+ flow_run_id: Optional[UUID] = Field(default=None)
721
+ task_run_id: Optional[UUID] = Field(default=None)
717
722
 
718
723
  _validate_artifact_format = field_validator("key")(validate_artifact_key)
719
724
 
@@ -129,6 +129,11 @@ class FlowRunFilterTags(PrefectBaseModel, OperatorMixin):
129
129
  " superset of the list"
130
130
  ),
131
131
  )
132
+ any_: Optional[List[str]] = Field(
133
+ default=None,
134
+ examples=[["tag-1", "tag-2"]],
135
+ description="A list of tags to include",
136
+ )
132
137
  is_null_: Optional[bool] = Field(
133
138
  default=None, description="If true, only include flow runs without tags"
134
139
  )
@@ -23,9 +23,6 @@ from pydantic import (
23
23
  HttpUrl,
24
24
  IPvAnyNetwork,
25
25
  SerializationInfo,
26
- StrictBool,
27
- StrictFloat,
28
- StrictInt,
29
26
  Tag,
30
27
  field_validator,
31
28
  model_serializer,
@@ -56,6 +53,7 @@ from prefect.client.schemas.schedules import SCHEDULE_TYPES
56
53
  from prefect.settings import PREFECT_CLOUD_API_URL, PREFECT_CLOUD_UI_URL
57
54
  from prefect.types import (
58
55
  MAX_VARIABLE_NAME_LENGTH,
56
+ KeyValueLabelsField,
59
57
  Name,
60
58
  NonNegativeInteger,
61
59
  PositiveInteger,
@@ -71,8 +69,6 @@ if TYPE_CHECKING:
71
69
 
72
70
  R = TypeVar("R", default=Any)
73
71
 
74
- KeyValueLabels = dict[str, Union[StrictBool, StrictInt, StrictFloat, str]]
75
-
76
72
 
77
73
  DEFAULT_BLOCK_SCHEMA_VERSION = "non-versioned"
78
74
  DEFAULT_AGENT_WORK_POOL_NAME = "default-agent-pool"
@@ -563,11 +559,7 @@ class FlowRun(ObjectBaseModel):
563
559
  description="A list of tags on the flow run",
564
560
  examples=[["tag-1", "tag-2"]],
565
561
  )
566
- labels: KeyValueLabels = Field(
567
- default_factory=dict,
568
- description="Prefect Cloud: A dictionary of key-value labels. Values can be strings, numbers, or booleans.",
569
- examples=[{"key": "value1", "key2": 42}],
570
- )
562
+ labels: KeyValueLabelsField
571
563
  parent_task_run_id: Optional[UUID] = Field(
572
564
  default=None,
573
565
  description=(
@@ -804,6 +796,7 @@ class TaskRun(ObjectBaseModel):
804
796
  description="A list of tags for the task run.",
805
797
  examples=[["tag-1", "tag-2"]],
806
798
  )
799
+ labels: KeyValueLabelsField
807
800
  state_id: Optional[UUID] = Field(
808
801
  default=None, description="The id of the current task run state."
809
802
  )
@@ -1059,6 +1052,7 @@ class Flow(ObjectBaseModel):
1059
1052
  description="A list of flow tags",
1060
1053
  examples=[["tag-1", "tag-2"]],
1061
1054
  )
1055
+ labels: KeyValueLabelsField
1062
1056
 
1063
1057
 
1064
1058
  class DeploymentSchedule(ObjectBaseModel):
@@ -1117,6 +1111,7 @@ class Deployment(ObjectBaseModel):
1117
1111
  description="A list of tags for the deployment",
1118
1112
  examples=[["tag-1", "tag-2"]],
1119
1113
  )
1114
+ labels: KeyValueLabelsField
1120
1115
  work_queue_name: Optional[str] = Field(
1121
1116
  default=None,
1122
1117
  description=(
@@ -1188,27 +1183,6 @@ class ConcurrencyLimit(ObjectBaseModel):
1188
1183
  )
1189
1184
 
1190
1185
 
1191
- class BlockSchema(ObjectBaseModel):
1192
- """An ORM representation of a block schema."""
1193
-
1194
- checksum: str = Field(default=..., description="The block schema's unique checksum")
1195
- fields: Dict[str, Any] = Field(
1196
- default_factory=dict, description="The block schema's field schema"
1197
- )
1198
- block_type_id: Optional[UUID] = Field(default=..., description="A block type ID")
1199
- block_type: Optional[BlockType] = Field(
1200
- default=None, description="The associated block type"
1201
- )
1202
- capabilities: List[str] = Field(
1203
- default_factory=list,
1204
- description="A list of Block capabilities",
1205
- )
1206
- version: str = Field(
1207
- default=DEFAULT_BLOCK_SCHEMA_VERSION,
1208
- description="Human readable identifier for the block schema",
1209
- )
1210
-
1211
-
1212
1186
  class BlockSchemaReference(ObjectBaseModel):
1213
1187
  """An ORM representation of a block schema reference."""
1214
1188
 
@@ -9,6 +9,7 @@ from typing_extensions import Literal
9
9
  import prefect.client.schemas.objects as objects
10
10
  from prefect._internal.schemas.bases import ObjectBaseModel, PrefectBaseModel
11
11
  from prefect._internal.schemas.fields import CreatedBy, UpdatedBy
12
+ from prefect.types import KeyValueLabelsField
12
13
  from prefect.utilities.collections import AutoEnum
13
14
  from prefect.utilities.names import generate_slug
14
15
 
@@ -201,6 +202,7 @@ class FlowRunResponse(ObjectBaseModel):
201
202
  description="A list of tags on the flow run",
202
203
  examples=[["tag-1", "tag-2"]],
203
204
  )
205
+ labels: KeyValueLabelsField
204
206
  parent_task_run_id: Optional[UUID] = Field(
205
207
  default=None,
206
208
  description=(
@@ -353,6 +355,7 @@ class DeploymentResponse(ObjectBaseModel):
353
355
  description="A list of tags for the deployment",
354
356
  examples=[["tag-1", "tag-2"]],
355
357
  )
358
+ labels: KeyValueLabelsField
356
359
  work_queue_name: Optional[str] = Field(
357
360
  default=None,
358
361
  description=(
@@ -83,6 +83,9 @@ class ConcurrencySlotAcquisitionService(QueueService):
83
83
  if max_retries is not None and max_retries <= 0:
84
84
  raise exc
85
85
  retry_after = float(exc.response.headers["Retry-After"])
86
+ logger.debug(
87
+ f"Unable to acquire concurrency slot. Retrying in {retry_after} second(s)."
88
+ )
86
89
  await asyncio.sleep(retry_after)
87
90
  if max_retries is not None:
88
91
  max_retries -= 1
@@ -77,6 +77,7 @@ from prefect.settings import (
77
77
  PREFECT_DEFAULT_WORK_POOL_NAME,
78
78
  PREFECT_UI_URL,
79
79
  )
80
+ from prefect.types import ListOfNonEmptyStrings
80
81
  from prefect.types.entrypoint import EntrypointType
81
82
  from prefect.utilities.asyncutils import sync_compatible
82
83
  from prefect.utilities.callables import ParameterSchema, parameter_schema
@@ -140,7 +141,7 @@ class RunnerDeployment(BaseModel):
140
141
  version: Optional[str] = Field(
141
142
  default=None, description="An optional version for the deployment."
142
143
  )
143
- tags: List[str] = Field(
144
+ tags: ListOfNonEmptyStrings = Field(
144
145
  default_factory=list,
145
146
  description="One of more tags to apply to this deployment.",
146
147
  )