prefect-client 3.0.8__tar.gz → 3.0.9__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 (214) hide show
  1. {prefect-client-3.0.8/src/prefect_client.egg-info → prefect-client-3.0.9}/PKG-INFO +1 -1
  2. {prefect-client-3.0.8 → prefect-client-3.0.9}/setup.cfg +1 -1
  3. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_version.py +3 -3
  4. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/context.py +13 -21
  5. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/runner/runner.py +36 -35
  6. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/settings.py +1 -2
  7. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/task_worker.py +6 -1
  8. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/dockerutils.py +1 -1
  9. {prefect-client-3.0.8 → prefect-client-3.0.9/src/prefect_client.egg-info}/PKG-INFO +1 -1
  10. {prefect-client-3.0.8 → prefect-client-3.0.9}/versioneer.py +1 -5
  11. {prefect-client-3.0.8 → prefect-client-3.0.9}/LICENSE +0 -0
  12. {prefect-client-3.0.8 → prefect-client-3.0.9}/MANIFEST.in +0 -0
  13. {prefect-client-3.0.8 → prefect-client-3.0.9}/README.md +0 -0
  14. {prefect-client-3.0.8 → prefect-client-3.0.9}/requirements-client.txt +0 -0
  15. {prefect-client-3.0.8 → prefect-client-3.0.9}/requirements-dev.txt +0 -0
  16. {prefect-client-3.0.8 → prefect-client-3.0.9}/requirements.txt +0 -0
  17. {prefect-client-3.0.8 → prefect-client-3.0.9}/setup.py +0 -0
  18. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/.prefectignore +0 -0
  19. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/__init__.py +0 -0
  20. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/__init__.py +0 -0
  21. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/_logging.py +0 -0
  22. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/compatibility/__init__.py +0 -0
  23. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  24. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/compatibility/migration.py +0 -0
  25. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/concurrency/__init__.py +0 -0
  26. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/concurrency/api.py +0 -0
  27. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/concurrency/calls.py +0 -0
  28. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  29. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  30. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/concurrency/inspection.py +0 -0
  31. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/concurrency/primitives.py +0 -0
  32. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/concurrency/services.py +0 -0
  33. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/concurrency/threads.py +0 -0
  34. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/concurrency/waiters.py +0 -0
  35. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/integrations.py +0 -0
  36. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/pydantic/__init__.py +0 -0
  37. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/pydantic/annotations/__init__.py +0 -0
  38. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/pydantic/annotations/pendulum.py +0 -0
  39. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/pydantic/schemas.py +0 -0
  40. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  41. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  42. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  43. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/pytz.py +0 -0
  44. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/retries.py +0 -0
  45. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/schemas/__init__.py +0 -0
  46. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/schemas/bases.py +0 -0
  47. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/schemas/fields.py +0 -0
  48. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/schemas/serializers.py +0 -0
  49. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/_internal/schemas/validators.py +0 -0
  50. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/agent.py +0 -0
  51. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/artifacts.py +0 -0
  52. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/automations.py +0 -0
  53. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/blocks/__init__.py +0 -0
  54. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/blocks/abstract.py +0 -0
  55. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/blocks/core.py +0 -0
  56. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/blocks/fields.py +0 -0
  57. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/blocks/notifications.py +0 -0
  58. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/blocks/redis.py +0 -0
  59. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/blocks/system.py +0 -0
  60. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/blocks/webhook.py +0 -0
  61. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/cache_policies.py +0 -0
  62. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/__init__.py +0 -0
  63. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/base.py +0 -0
  64. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/cloud.py +0 -0
  65. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/collections.py +0 -0
  66. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/constants.py +0 -0
  67. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/orchestration.py +0 -0
  68. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/schemas/__init__.py +0 -0
  69. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/schemas/actions.py +0 -0
  70. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/schemas/filters.py +0 -0
  71. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/schemas/objects.py +0 -0
  72. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/schemas/responses.py +0 -0
  73. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/schemas/schedules.py +0 -0
  74. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/schemas/sorting.py +0 -0
  75. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/subscriptions.py +0 -0
  76. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/types/__init__.py +0 -0
  77. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  78. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/client/utilities.py +0 -0
  79. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/__init__.py +0 -0
  80. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/asyncio.py +0 -0
  81. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/context.py +0 -0
  82. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/events.py +0 -0
  83. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/services.py +0 -0
  84. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/sync.py +0 -0
  85. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/v1/__init__.py +0 -0
  86. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/v1/asyncio.py +0 -0
  87. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/v1/context.py +0 -0
  88. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/v1/events.py +0 -0
  89. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/v1/services.py +0 -0
  90. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/concurrency/v1/sync.py +0 -0
  91. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/deployments/__init__.py +0 -0
  92. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/deployments/base.py +0 -0
  93. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/deployments/deployments.py +0 -0
  94. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/deployments/flow_runs.py +0 -0
  95. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/deployments/runner.py +0 -0
  96. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/deployments/schedules.py +0 -0
  97. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/deployments/steps/__init__.py +0 -0
  98. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/deployments/steps/core.py +0 -0
  99. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/deployments/steps/pull.py +0 -0
  100. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/deployments/steps/utility.py +0 -0
  101. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/docker/__init__.py +0 -0
  102. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/docker/docker_image.py +0 -0
  103. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/engine.py +0 -0
  104. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/__init__.py +0 -0
  105. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/actions.py +0 -0
  106. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/cli/__init__.py +0 -0
  107. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/cli/automations.py +0 -0
  108. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/clients.py +0 -0
  109. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/filters.py +0 -0
  110. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/related.py +0 -0
  111. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/schemas/__init__.py +0 -0
  112. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/schemas/automations.py +0 -0
  113. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  114. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/schemas/events.py +0 -0
  115. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/schemas/labelling.py +0 -0
  116. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/utilities.py +0 -0
  117. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/events/worker.py +0 -0
  118. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/exceptions.py +0 -0
  119. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/filesystems.py +0 -0
  120. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/flow_engine.py +0 -0
  121. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/flow_runs.py +0 -0
  122. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/flows.py +0 -0
  123. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/futures.py +0 -0
  124. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/infrastructure/__init__.py +0 -0
  125. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/infrastructure/base.py +0 -0
  126. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  127. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  128. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  129. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  130. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  131. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/input/__init__.py +0 -0
  132. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/input/actions.py +0 -0
  133. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/input/run_input.py +0 -0
  134. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/locking/__init__.py +0 -0
  135. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/locking/filesystem.py +0 -0
  136. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/locking/memory.py +0 -0
  137. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/locking/protocol.py +0 -0
  138. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/logging/__init__.py +0 -0
  139. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/logging/configuration.py +0 -0
  140. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/logging/filters.py +0 -0
  141. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/logging/formatters.py +0 -0
  142. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/logging/handlers.py +0 -0
  143. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/logging/highlighters.py +0 -0
  144. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/logging/loggers.py +0 -0
  145. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/logging/logging.yml +0 -0
  146. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/main.py +0 -0
  147. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/plugins.py +0 -0
  148. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/profiles.toml +0 -0
  149. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/py.typed +0 -0
  150. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/records/__init__.py +0 -0
  151. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/records/base.py +0 -0
  152. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/records/filesystem.py +0 -0
  153. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/records/memory.py +0 -0
  154. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/records/result_store.py +0 -0
  155. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/results.py +0 -0
  156. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/runner/__init__.py +0 -0
  157. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/runner/server.py +0 -0
  158. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/runner/storage.py +0 -0
  159. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/runner/submit.py +0 -0
  160. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/runner/utils.py +0 -0
  161. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/runtime/__init__.py +0 -0
  162. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/runtime/deployment.py +0 -0
  163. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/runtime/flow_run.py +0 -0
  164. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/runtime/task_run.py +0 -0
  165. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/serializers.py +0 -0
  166. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  167. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  168. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/states.py +0 -0
  169. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/task_engine.py +0 -0
  170. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/task_runners.py +0 -0
  171. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/task_runs.py +0 -0
  172. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/tasks.py +0 -0
  173. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/transactions.py +0 -0
  174. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/types/__init__.py +0 -0
  175. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/types/entrypoint.py +0 -0
  176. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/__init__.py +0 -0
  177. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/annotations.py +0 -0
  178. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/asyncutils.py +0 -0
  179. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/callables.py +0 -0
  180. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/collections.py +0 -0
  181. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/compat.py +0 -0
  182. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/context.py +0 -0
  183. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/dispatch.py +0 -0
  184. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/engine.py +0 -0
  185. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/filesystem.py +0 -0
  186. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/hashing.py +0 -0
  187. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/importtools.py +0 -0
  188. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/math.py +0 -0
  189. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/names.py +0 -0
  190. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/processutils.py +0 -0
  191. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/pydantic.py +0 -0
  192. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/render_swagger.py +0 -0
  193. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  194. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  195. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/schema_tools/validation.py +0 -0
  196. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/services.py +0 -0
  197. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/slugify.py +0 -0
  198. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/templating.py +0 -0
  199. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/text.py +0 -0
  200. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/timeout.py +0 -0
  201. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/urls.py +0 -0
  202. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/utilities/visualization.py +0 -0
  203. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/variables.py +0 -0
  204. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/workers/__init__.py +0 -0
  205. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/workers/base.py +0 -0
  206. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/workers/block.py +0 -0
  207. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/workers/cloud.py +0 -0
  208. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/workers/process.py +0 -0
  209. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/workers/server.py +0 -0
  210. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect/workers/utilities.py +0 -0
  211. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect_client.egg-info/SOURCES.txt +0 -0
  212. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect_client.egg-info/dependency_links.txt +0 -0
  213. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect_client.egg-info/requires.txt +0 -0
  214. {prefect-client-3.0.8 → prefect-client-3.0.9}/src/prefect_client.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 3.0.8
3
+ Version: 3.0.9
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -57,7 +57,7 @@ ignore_missing_imports = True
57
57
 
58
58
  [versioneer]
59
59
  VCS = git
60
- style = pep440-pre
60
+ style = pep440
61
61
  versionfile_source = src/prefect/_version.py
62
62
  versionfile_build = prefect/_version.py
63
63
  version_regex = ^(\d+\.\d+\.\d+(?:[a-zA-Z0-9]+(?:\.[a-zA-Z0-9]+)*)?)$
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-10-10T10:17:25-0500",
11
+ "date": "2024-10-15T10:11:48-0400",
12
12
  "dirty": true,
13
13
  "error": null,
14
- "full-revisionid": "0894bad49e256657cab8208205623c4c7b75ad1f",
15
- "version": "3.0.8"
14
+ "full-revisionid": "fd8cef25431a01f5b6ff2f031c2d53b3094797cb",
15
+ "version": "3.0.9"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -453,23 +453,6 @@ class SettingsContext(ContextModel):
453
453
  def __hash__(self) -> int:
454
454
  return hash(self.settings)
455
455
 
456
- def __enter__(self):
457
- """
458
- Upon entrance, we ensure the home directory for the profile exists.
459
- """
460
- return_value = super().__enter__()
461
-
462
- try:
463
- prefect_home = self.settings.home
464
- prefect_home.mkdir(mode=0o0700, exist_ok=True)
465
- except OSError:
466
- warnings.warn(
467
- (f"Failed to create the Prefect home directory at {prefect_home}"),
468
- stacklevel=2,
469
- )
470
-
471
- return return_value
472
-
473
456
  @classmethod
474
457
  def get(cls) -> "SettingsContext":
475
458
  # Return the global context instead of `None` if no context exists
@@ -567,9 +550,9 @@ def tags(*new_tags: str) -> Generator[Set[str], None, None]:
567
550
  {"a", "b", "c", "d", "e", "f"}
568
551
  """
569
552
  current_tags = TagsContext.get().current_tags
570
- new_tags = current_tags.union(new_tags)
571
- with TagsContext(current_tags=new_tags):
572
- yield new_tags
553
+ _new_tags = current_tags.union(new_tags)
554
+ with TagsContext(current_tags=_new_tags):
555
+ yield _new_tags
573
556
 
574
557
 
575
558
  @contextmanager
@@ -659,7 +642,16 @@ def root_settings_context():
659
642
  )
660
643
  active_name = "ephemeral"
661
644
 
662
- return SettingsContext(profile=profiles[active_name], settings=Settings())
645
+ if not (settings := Settings()).home.exists():
646
+ try:
647
+ settings.home.mkdir(mode=0o0700, exist_ok=True)
648
+ except OSError:
649
+ warnings.warn(
650
+ (f"Failed to create the Prefect home directory at {settings.home}"),
651
+ stacklevel=2,
652
+ )
653
+
654
+ return SettingsContext(profile=profiles[active_name], settings=settings)
663
655
 
664
656
  # Note the above context is exited and the global settings context is used by
665
657
  # an override in the `SettingsContext.get` method.
@@ -41,6 +41,7 @@ import subprocess
41
41
  import sys
42
42
  import tempfile
43
43
  import threading
44
+ from contextlib import AsyncExitStack
44
45
  from copy import deepcopy
45
46
  from functools import partial
46
47
  from pathlib import Path
@@ -185,6 +186,7 @@ class Runner:
185
186
  self.query_seconds = query_seconds or PREFECT_RUNNER_POLL_FREQUENCY.value()
186
187
  self._prefetch_seconds = prefetch_seconds
187
188
 
189
+ self._exit_stack = AsyncExitStack()
188
190
  self._limiter: Optional[anyio.CapacityLimiter] = None
189
191
  self._client = get_client()
190
192
  self._submitting_flow_run_ids = set()
@@ -398,38 +400,37 @@ class Runner:
398
400
  start_client_metrics_server()
399
401
 
400
402
  async with self as runner:
401
- async with self._loops_task_group as tg:
402
- for storage in self._storage_objs:
403
- if storage.pull_interval:
404
- tg.start_soon(
405
- partial(
406
- critical_service_loop,
407
- workload=storage.pull_code,
408
- interval=storage.pull_interval,
409
- run_once=run_once,
410
- jitter_range=0.3,
411
- )
403
+ for storage in self._storage_objs:
404
+ if storage.pull_interval:
405
+ self._runs_task_group.start_soon(
406
+ partial(
407
+ critical_service_loop,
408
+ workload=storage.pull_code,
409
+ interval=storage.pull_interval,
410
+ run_once=run_once,
411
+ jitter_range=0.3,
412
412
  )
413
- else:
414
- tg.start_soon(storage.pull_code)
415
- tg.start_soon(
416
- partial(
417
- critical_service_loop,
418
- workload=runner._get_and_submit_flow_runs,
419
- interval=self.query_seconds,
420
- run_once=run_once,
421
- jitter_range=0.3,
422
413
  )
414
+ else:
415
+ self._runs_task_group.start_soon(storage.pull_code)
416
+ self._runs_task_group.start_soon(
417
+ partial(
418
+ critical_service_loop,
419
+ workload=runner._get_and_submit_flow_runs,
420
+ interval=self.query_seconds,
421
+ run_once=run_once,
422
+ jitter_range=0.3,
423
423
  )
424
- tg.start_soon(
425
- partial(
426
- critical_service_loop,
427
- workload=runner._check_for_cancelled_flow_runs,
428
- interval=self.query_seconds * 2,
429
- run_once=run_once,
430
- jitter_range=0.3,
431
- )
424
+ )
425
+ self._runs_task_group.start_soon(
426
+ partial(
427
+ critical_service_loop,
428
+ workload=runner._check_for_cancelled_flow_runs,
429
+ interval=self.query_seconds * 2,
430
+ run_once=run_once,
431
+ jitter_range=0.3,
432
432
  )
433
+ )
433
434
 
434
435
  def execute_in_background(self, func, *args, **kwargs):
435
436
  """
@@ -1264,14 +1265,16 @@ class Runner:
1264
1265
  if not hasattr(self, "_loop") or not self._loop:
1265
1266
  self._loop = asyncio.get_event_loop()
1266
1267
 
1268
+ await self._exit_stack.__aenter__()
1269
+
1270
+ await self._exit_stack.enter_async_context(self._client)
1267
1271
  if not hasattr(self, "_runs_task_group") or not self._runs_task_group:
1268
1272
  self._runs_task_group: anyio.abc.TaskGroup = anyio.create_task_group()
1273
+ await self._exit_stack.enter_async_context(self._runs_task_group)
1269
1274
 
1270
1275
  if not hasattr(self, "_loops_task_group") or not self._loops_task_group:
1271
1276
  self._loops_task_group: anyio.abc.TaskGroup = anyio.create_task_group()
1272
-
1273
- await self._client.__aenter__()
1274
- await self._runs_task_group.__aenter__()
1277
+ await self._exit_stack.enter_async_context(self._loops_task_group)
1275
1278
 
1276
1279
  self.started = True
1277
1280
  return self
@@ -1283,11 +1286,9 @@ class Runner:
1283
1286
  self.started = False
1284
1287
  for scope in self._scheduled_task_scopes:
1285
1288
  scope.cancel()
1286
- if self._runs_task_group:
1287
- await self._runs_task_group.__aexit__(*exc_info)
1288
- if self._client:
1289
- await self._client.__aexit__(*exc_info)
1289
+ await self._exit_stack.__aexit__(*exc_info)
1290
1290
  shutil.rmtree(str(self._tmp_dir))
1291
+ del self._runs_task_group, self._loops_task_group
1291
1292
 
1292
1293
  def __repr__(self):
1293
1294
  return f"Runner(name={self.name!r})"
@@ -381,7 +381,6 @@ class ProfileSettingsTomlLoader(PydanticBaseSettingsSource):
381
381
 
382
382
  if not active_profile or active_profile not in profiles_data:
383
383
  return {}
384
-
385
384
  return profiles_data[active_profile]
386
385
 
387
386
  def get_field_value(
@@ -1509,7 +1508,7 @@ class Settings(BaseSettings):
1509
1508
  return self
1510
1509
 
1511
1510
  @model_validator(mode="after")
1512
- def emit_warnings(self):
1511
+ def emit_warnings(self) -> Self:
1513
1512
  """More post-hoc validation of settings, including warnings for misconfigurations."""
1514
1513
  values = self.model_dump()
1515
1514
  values = max_log_size_smaller_than_batch_size(values)
@@ -102,7 +102,7 @@ class TaskWorker:
102
102
  "TaskWorker must be initialized within an async context."
103
103
  )
104
104
 
105
- self._runs_task_group: anyio.abc.TaskGroup = anyio.create_task_group()
105
+ self._runs_task_group: Optional[anyio.abc.TaskGroup] = None
106
106
  self._executor = ThreadPoolExecutor(max_workers=limit if limit else None)
107
107
  self._limiter = anyio.CapacityLimiter(limit) if limit else None
108
108
 
@@ -230,6 +230,9 @@ class TaskWorker:
230
230
 
231
231
  token_acquired = await self._acquire_token(task_run.id)
232
232
  if token_acquired:
233
+ assert (
234
+ self._runs_task_group is not None
235
+ ), "Task group was not initialized"
233
236
  self._runs_task_group.start_soon(
234
237
  self._safe_submit_scheduled_task_run, task_run
235
238
  )
@@ -349,7 +352,9 @@ class TaskWorker:
349
352
 
350
353
  if self._client._closed:
351
354
  self._client = get_client()
355
+ self._runs_task_group = anyio.create_task_group()
352
356
 
357
+ await self._exit_stack.__aenter__()
353
358
  await self._exit_stack.enter_async_context(self._client)
354
359
  await self._exit_stack.enter_async_context(self._runs_task_group)
355
360
  self._exit_stack.enter_context(self._executor)
@@ -57,7 +57,7 @@ def get_prefect_image_name(
57
57
  flavor: An optional alternative image flavor to build, like 'conda'
58
58
  """
59
59
  parsed_version = Version(prefect_version or prefect.__version__)
60
- is_prod_build = parsed_version.post is None
60
+ is_prod_build = parsed_version.local is None
61
61
  prefect_version = (
62
62
  parsed_version.base_version
63
63
  if is_prod_build
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 3.0.8
3
+ Version: 3.0.9
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -923,8 +923,6 @@ def render_pep440(pieces: Dict[str, Any]) -> str:
923
923
  if pieces["distance"] or pieces["dirty"]:
924
924
  rendered += plus_or_dot(pieces)
925
925
  rendered += "%%d.g%%s" %% (pieces["distance"], pieces["short"])
926
- if pieces["dirty"]:
927
- rendered += ".dirty"
928
926
  else:
929
927
  # exception #1
930
928
  rendered = "0+untagged.%%d.g%%s" %% (pieces["distance"],
@@ -1581,11 +1579,9 @@ def render_pep440(pieces: Dict[str, Any]) -> str:
1581
1579
  """
1582
1580
  if pieces["closest-tag"]:
1583
1581
  rendered = pieces["closest-tag"]
1584
- if pieces["distance"] or pieces["dirty"]:
1582
+ if pieces["distance"]:
1585
1583
  rendered += plus_or_dot(pieces)
1586
1584
  rendered += "%d.g%s" % (pieces["distance"], pieces["short"])
1587
- if pieces["dirty"]:
1588
- rendered += ".dirty"
1589
1585
  else:
1590
1586
  # exception #1
1591
1587
  rendered = "0+untagged.%d.g%s" % (pieces["distance"], pieces["short"])
File without changes
File without changes
File without changes