prefect-client 3.3.7__tar.gz → 3.3.8.dev1__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 (328) hide show
  1. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/PKG-INFO +1 -1
  2. prefect_client-3.3.8.dev1/src/prefect/_build_info.py +5 -0
  3. prefect_client-3.3.8.dev1/src/prefect/_versioning.py +438 -0
  4. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/flow_runs.py +4 -1
  5. prefect_client-3.3.7/src/prefect/_build_info.py +0 -5
  6. prefect_client-3.3.7/src/prefect/_versioning.py +0 -180
  7. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/.gitignore +0 -0
  8. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/LICENSE +0 -0
  9. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/README.md +0 -0
  10. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/pyproject.toml +0 -0
  11. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/.prefectignore +0 -0
  12. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/__init__.py +0 -0
  13. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/__main__.py +0 -0
  14. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_experimental/__init__.py +0 -0
  15. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_experimental/bundles/__init__.py +0 -0
  16. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_experimental/bundles/execute.py +0 -0
  17. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_experimental/lineage.py +0 -0
  18. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_experimental/sla/__init__.py +0 -0
  19. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_experimental/sla/client.py +0 -0
  20. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_experimental/sla/objects.py +0 -0
  21. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/__init__.py +0 -0
  22. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/_logging.py +0 -0
  23. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/compatibility/__init__.py +0 -0
  24. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  25. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  26. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/compatibility/migration.py +0 -0
  27. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/concurrency/__init__.py +0 -0
  28. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/concurrency/api.py +0 -0
  29. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/concurrency/calls.py +0 -0
  30. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  31. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  32. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/concurrency/inspection.py +0 -0
  33. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/concurrency/primitives.py +0 -0
  34. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/concurrency/services.py +0 -0
  35. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/concurrency/threads.py +0 -0
  36. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/concurrency/waiters.py +0 -0
  37. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/integrations.py +0 -0
  38. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/pydantic/__init__.py +0 -0
  39. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/pydantic/schemas.py +0 -0
  40. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  41. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  42. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  43. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/pytz.py +0 -0
  44. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/retries.py +0 -0
  45. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/schemas/__init__.py +0 -0
  46. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/schemas/bases.py +0 -0
  47. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/schemas/fields.py +0 -0
  48. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/schemas/serializers.py +0 -0
  49. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_internal/schemas/validators.py +0 -0
  50. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_result_records.py +0 -0
  51. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_vendor/croniter/__init__.py +0 -0
  52. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_vendor/croniter/croniter.py +0 -0
  53. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/_waiters.py +0 -0
  54. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/agent.py +0 -0
  55. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/artifacts.py +0 -0
  56. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/automations.py +0 -0
  57. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/blocks/__init__.py +0 -0
  58. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/blocks/abstract.py +0 -0
  59. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/blocks/core.py +0 -0
  60. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/blocks/fields.py +0 -0
  61. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/blocks/notifications.py +0 -0
  62. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/blocks/redis.py +0 -0
  63. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/blocks/system.py +0 -0
  64. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/blocks/webhook.py +0 -0
  65. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/cache_policies.py +0 -0
  66. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/__init__.py +0 -0
  67. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/base.py +0 -0
  68. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/cloud.py +0 -0
  69. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/collections.py +0 -0
  70. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/constants.py +0 -0
  71. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/__init__.py +0 -0
  72. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  73. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  74. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  75. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_automations/client.py +0 -0
  76. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  77. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  78. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  79. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  80. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  81. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  82. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  83. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  84. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  85. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  86. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  87. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  88. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  89. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_flows/client.py +0 -0
  90. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  91. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_logs/client.py +0 -0
  92. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  93. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_variables/client.py +0 -0
  94. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  95. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  96. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/base.py +0 -0
  97. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/orchestration/routes.py +0 -0
  98. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/schemas/__init__.py +0 -0
  99. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/schemas/actions.py +0 -0
  100. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/schemas/filters.py +0 -0
  101. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/schemas/objects.py +0 -0
  102. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/schemas/responses.py +0 -0
  103. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/schemas/schedules.py +0 -0
  104. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/schemas/sorting.py +0 -0
  105. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/subscriptions.py +0 -0
  106. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/types/__init__.py +0 -0
  107. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  108. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/client/utilities.py +0 -0
  109. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/__init__.py +0 -0
  110. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/_asyncio.py +0 -0
  111. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/_events.py +0 -0
  112. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/asyncio.py +0 -0
  113. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/context.py +0 -0
  114. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/services.py +0 -0
  115. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/sync.py +0 -0
  116. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/v1/__init__.py +0 -0
  117. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  118. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/v1/_events.py +0 -0
  119. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/v1/asyncio.py +0 -0
  120. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/v1/context.py +0 -0
  121. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/v1/services.py +0 -0
  122. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/concurrency/v1/sync.py +0 -0
  123. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/context.py +0 -0
  124. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/deployments/__init__.py +0 -0
  125. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/deployments/base.py +0 -0
  126. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/deployments/deployments.py +0 -0
  127. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/deployments/flow_runs.py +0 -0
  128. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/deployments/runner.py +0 -0
  129. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/deployments/schedules.py +0 -0
  130. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/deployments/steps/__init__.py +0 -0
  131. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/deployments/steps/core.py +0 -0
  132. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/deployments/steps/pull.py +0 -0
  133. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/deployments/steps/utility.py +0 -0
  134. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/docker/__init__.py +0 -0
  135. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/docker/docker_image.py +0 -0
  136. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/engine.py +0 -0
  137. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/__init__.py +0 -0
  138. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/actions.py +0 -0
  139. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/cli/__init__.py +0 -0
  140. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/cli/automations.py +0 -0
  141. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/clients.py +0 -0
  142. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/filters.py +0 -0
  143. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/related.py +0 -0
  144. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/schemas/__init__.py +0 -0
  145. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/schemas/automations.py +0 -0
  146. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  147. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/schemas/events.py +0 -0
  148. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/schemas/labelling.py +0 -0
  149. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/utilities.py +0 -0
  150. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/events/worker.py +0 -0
  151. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/exceptions.py +0 -0
  152. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/filesystems.py +0 -0
  153. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/flow_engine.py +0 -0
  154. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/flows.py +0 -0
  155. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/futures.py +0 -0
  156. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/infrastructure/__init__.py +0 -0
  157. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/infrastructure/base.py +0 -0
  158. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  159. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  160. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  161. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  162. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  163. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  164. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/input/__init__.py +0 -0
  165. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/input/actions.py +0 -0
  166. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/input/run_input.py +0 -0
  167. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/locking/__init__.py +0 -0
  168. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/locking/filesystem.py +0 -0
  169. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/locking/memory.py +0 -0
  170. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/locking/protocol.py +0 -0
  171. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/logging/__init__.py +0 -0
  172. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/logging/configuration.py +0 -0
  173. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/logging/filters.py +0 -0
  174. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/logging/formatters.py +0 -0
  175. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/logging/handlers.py +0 -0
  176. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/logging/highlighters.py +0 -0
  177. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/logging/loggers.py +0 -0
  178. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/logging/logging.yml +0 -0
  179. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/main.py +0 -0
  180. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/plugins.py +0 -0
  181. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/py.typed +0 -0
  182. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/results.py +0 -0
  183. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/runner/__init__.py +0 -0
  184. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/runner/runner.py +0 -0
  185. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/runner/server.py +0 -0
  186. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/runner/storage.py +0 -0
  187. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/runner/submit.py +0 -0
  188. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/runner/utils.py +0 -0
  189. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/runtime/__init__.py +0 -0
  190. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/runtime/deployment.py +0 -0
  191. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/runtime/flow_run.py +0 -0
  192. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/runtime/task_run.py +0 -0
  193. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/schedules.py +0 -0
  194. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/serializers.py +0 -0
  195. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/__init__.py +0 -0
  196. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/admin.py +0 -0
  197. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/artifacts.py +0 -0
  198. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/automations.py +0 -0
  199. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/block_capabilities.py +0 -0
  200. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/block_documents.py +0 -0
  201. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/block_schemas.py +0 -0
  202. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/block_types.py +0 -0
  203. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/clients.py +0 -0
  204. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/collections.py +0 -0
  205. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  206. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/concurrency_limits.py +0 -0
  207. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  208. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/csrf_token.py +0 -0
  209. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/dependencies.py +0 -0
  210. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/deployments.py +0 -0
  211. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/events.py +0 -0
  212. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/flow_run_notification_policies.py +0 -0
  213. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/flow_run_states.py +0 -0
  214. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/flow_runs.py +0 -0
  215. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/flows.py +0 -0
  216. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/logs.py +0 -0
  217. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/middleware.py +0 -0
  218. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/root.py +0 -0
  219. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/run_history.py +0 -0
  220. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/saved_searches.py +0 -0
  221. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/server.py +0 -0
  222. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  223. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/task_run_states.py +0 -0
  224. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/task_runs.py +0 -0
  225. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/task_workers.py +0 -0
  226. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/templates.py +0 -0
  227. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/ui/__init__.py +0 -0
  228. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/ui/flow_runs.py +0 -0
  229. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/ui/flows.py +0 -0
  230. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/ui/schemas.py +0 -0
  231. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/ui/task_runs.py +0 -0
  232. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/validation.py +0 -0
  233. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/variables.py +0 -0
  234. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/work_queues.py +0 -0
  235. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/server/api/workers.py +0 -0
  236. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/__init__.py +0 -0
  237. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/base.py +0 -0
  238. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/constants.py +0 -0
  239. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/context.py +0 -0
  240. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/legacy.py +0 -0
  241. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/__init__.py +0 -0
  242. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/api.py +0 -0
  243. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/cli.py +0 -0
  244. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/client.py +0 -0
  245. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/cloud.py +0 -0
  246. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/deployments.py +0 -0
  247. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/experiments.py +0 -0
  248. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/flows.py +0 -0
  249. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/internal.py +0 -0
  250. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/logging.py +0 -0
  251. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/results.py +0 -0
  252. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/root.py +0 -0
  253. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/runner.py +0 -0
  254. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/server/__init__.py +0 -0
  255. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/server/api.py +0 -0
  256. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/server/database.py +0 -0
  257. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/server/deployments.py +0 -0
  258. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/server/ephemeral.py +0 -0
  259. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/server/events.py +0 -0
  260. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  261. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/server/root.py +0 -0
  262. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/server/services.py +0 -0
  263. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/server/tasks.py +0 -0
  264. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/server/ui.py +0 -0
  265. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/tasks.py +0 -0
  266. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/testing.py +0 -0
  267. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/models/worker.py +0 -0
  268. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/profiles.py +0 -0
  269. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/profiles.toml +0 -0
  270. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/settings/sources.py +0 -0
  271. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/states.py +0 -0
  272. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/task_engine.py +0 -0
  273. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/task_runners.py +0 -0
  274. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/task_runs.py +0 -0
  275. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/task_worker.py +0 -0
  276. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/tasks.py +0 -0
  277. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/telemetry/__init__.py +0 -0
  278. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/telemetry/bootstrap.py +0 -0
  279. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/telemetry/instrumentation.py +0 -0
  280. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/telemetry/logging.py +0 -0
  281. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/telemetry/processors.py +0 -0
  282. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/telemetry/run_telemetry.py +0 -0
  283. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/telemetry/services.py +0 -0
  284. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/transactions.py +0 -0
  285. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/types/__init__.py +0 -0
  286. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/types/_datetime.py +0 -0
  287. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/types/entrypoint.py +0 -0
  288. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/__init__.py +0 -0
  289. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/_ast.py +0 -0
  290. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/_deprecated.py +0 -0
  291. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/_engine.py +0 -0
  292. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/_git.py +0 -0
  293. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/annotations.py +0 -0
  294. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/asyncutils.py +0 -0
  295. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/callables.py +0 -0
  296. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/collections.py +0 -0
  297. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/compat.py +0 -0
  298. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/context.py +0 -0
  299. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/dispatch.py +0 -0
  300. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/dockerutils.py +0 -0
  301. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/engine.py +0 -0
  302. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/filesystem.py +0 -0
  303. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/generics.py +0 -0
  304. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/hashing.py +0 -0
  305. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/importtools.py +0 -0
  306. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/math.py +0 -0
  307. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/names.py +0 -0
  308. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/processutils.py +0 -0
  309. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/pydantic.py +0 -0
  310. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/render_swagger.py +0 -0
  311. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  312. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  313. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/schema_tools/validation.py +0 -0
  314. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/services.py +0 -0
  315. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/slugify.py +0 -0
  316. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/templating.py +0 -0
  317. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/text.py +0 -0
  318. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/timeout.py +0 -0
  319. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/urls.py +0 -0
  320. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/utilities/visualization.py +0 -0
  321. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/variables.py +0 -0
  322. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/workers/__init__.py +0 -0
  323. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/workers/base.py +0 -0
  324. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/workers/block.py +0 -0
  325. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/workers/cloud.py +0 -0
  326. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/workers/process.py +0 -0
  327. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/workers/server.py +0 -0
  328. {prefect_client-3.3.7 → prefect_client-3.3.8.dev1}/src/prefect/workers/utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prefect-client
3
- Version: 3.3.7
3
+ Version: 3.3.8.dev1
4
4
  Summary: Workflow orchestration and management.
5
5
  Project-URL: Changelog, https://github.com/PrefectHQ/prefect/releases
6
6
  Project-URL: Documentation, https://docs.prefect.io
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.3.8.dev1"
3
+ __build_date__ = "2025-04-29 08:08:59.733773+00:00"
4
+ __git_commit__ = "f517be0bbfa10a7fdd2b715048061f33ed0fbac9"
5
+ __dirty__ = False
@@ -0,0 +1,438 @@
1
+ from __future__ import annotations
2
+
3
+ import os
4
+ from enum import Enum
5
+ from typing import Any, Callable, Coroutine, Dict, Literal, Optional
6
+ from urllib.parse import urlparse
7
+
8
+ from anyio import run_process
9
+ from pydantic import Field
10
+
11
+ from prefect.client.schemas.objects import VersionInfo
12
+
13
+
14
+ async def get_commit_message_first_line() -> str:
15
+ result = await run_process(["git", "log", "-1", "--pretty=%B"])
16
+ return result.stdout.decode().strip().splitlines()[0]
17
+
18
+
19
+ class SimpleVersionInfo(VersionInfo):
20
+ type: Literal["prefect:simple"] = "prefect:simple"
21
+ version: str = Field(default="")
22
+ branch: Optional[str] = Field(default=None)
23
+ url: Optional[str] = Field(default=None)
24
+
25
+
26
+ class GithubVersionInfo(VersionInfo):
27
+ type: Literal["vcs:github"] = "vcs:github"
28
+ version: str
29
+ commit_sha: str
30
+ message: str
31
+ branch: str
32
+ repository: str
33
+ url: str
34
+
35
+
36
+ class GitlabVersionInfo(VersionInfo):
37
+ type: Literal["vcs:gitlab"] = "vcs:gitlab"
38
+ version: str
39
+ commit_sha: str
40
+ message: str
41
+ branch: str
42
+ repository: str
43
+ url: str
44
+
45
+
46
+ class BitbucketVersionInfo(VersionInfo):
47
+ type: Literal["vcs:bitbucket"] = "vcs:bitbucket"
48
+ version: str
49
+ commit_sha: str
50
+ message: str
51
+ branch: str
52
+ repository: str
53
+ url: str
54
+
55
+
56
+ class AzureDevopsVersionInfo(VersionInfo):
57
+ type: Literal["vcs:azuredevops"] = "vcs:azuredevops"
58
+ version: str
59
+ commit_sha: str
60
+ message: str
61
+ branch: str
62
+ repository: str
63
+ url: str
64
+
65
+
66
+ class GitVersionInfo(VersionInfo):
67
+ type: Literal["vcs:git"] = "vcs:git"
68
+ version: str
69
+ commit_sha: str
70
+ message: str
71
+ branch: str
72
+ repository: str
73
+ url: str
74
+
75
+
76
+ async def get_github_version_info(
77
+ commit_sha: Optional[str] = None,
78
+ message: Optional[str] = None,
79
+ branch: Optional[str] = None,
80
+ repository: Optional[str] = None,
81
+ url: Optional[str] = None,
82
+ ) -> GithubVersionInfo:
83
+ """Create a GithubVersionInfo object from provided values or environment variables.
84
+
85
+ Args:
86
+ commit_sha: The commit SHA, falls back to GITHUB_SHA env var
87
+ message: The commit message, falls back to git log -1 --pretty=%B
88
+ branch: The git branch, falls back to GITHUB_REF_NAME env var
89
+ repository: The repository name, falls back to GITHUB_REPOSITORY env var
90
+ url: The repository URL, constructed from GITHUB_SERVER_URL/GITHUB_REPOSITORY/tree/GITHUB_SHA if not provided
91
+
92
+ Returns:
93
+ A GithubVersionInfo
94
+
95
+ Raises:
96
+ ValueError: If any required fields cannot be determined
97
+ """
98
+ try:
99
+ commit_sha = commit_sha or os.getenv("GITHUB_SHA")
100
+ branch = branch or os.getenv("GITHUB_REF_NAME")
101
+ repository = repository or os.getenv("GITHUB_REPOSITORY")
102
+ url = url or f"{os.getenv('GITHUB_SERVER_URL')}/{repository}/tree/{commit_sha}"
103
+
104
+ if not message:
105
+ message = await get_commit_message_first_line()
106
+
107
+ if not commit_sha:
108
+ raise ValueError(
109
+ "commit_sha is required - must be provided or set in GITHUB_SHA"
110
+ )
111
+ if not branch:
112
+ raise ValueError(
113
+ "branch is required - must be provided or set in GITHUB_REF_NAME"
114
+ )
115
+ if not repository:
116
+ raise ValueError(
117
+ "repository is required - must be provided or set in GITHUB_REPOSITORY"
118
+ )
119
+
120
+ except Exception as e:
121
+ raise ValueError(
122
+ f"Error getting git version info: {e}. You may not be in a Github repository."
123
+ )
124
+
125
+ return GithubVersionInfo(
126
+ type="vcs:github",
127
+ version=commit_sha[:8],
128
+ commit_sha=commit_sha,
129
+ message=message,
130
+ branch=branch,
131
+ repository=repository,
132
+ url=url,
133
+ )
134
+
135
+
136
+ async def get_gitlab_version_info(
137
+ commit_sha: Optional[str] = None,
138
+ message: Optional[str] = None,
139
+ branch: Optional[str] = None,
140
+ repository: Optional[str] = None,
141
+ url: Optional[str] = None,
142
+ ) -> GitlabVersionInfo:
143
+ """Create a GitlabVersionInfo object from provided values or environment variables.
144
+
145
+ Args:
146
+ commit_sha: The commit SHA, falls back to CI_COMMIT_SHA env var
147
+ message: The commit message, falls back to git log -1 --pretty=%B
148
+ branch: The git branch, falls back to CI_COMMIT_REF_NAME env var
149
+ repository: The repository name, falls back to CI_PROJECT_NAME env var
150
+ url: The repository URL, constructed from CI_PROJECT_URL/-/tree/CI_COMMIT_SHA if not provided
151
+
152
+ Returns:
153
+ A GitlabVersionInfo
154
+
155
+ Raises:
156
+ ValueError: If any required fields cannot be determined
157
+ """
158
+ try:
159
+ commit_sha = commit_sha or os.getenv("CI_COMMIT_SHA")
160
+ branch = branch or os.getenv("CI_COMMIT_REF_NAME")
161
+ repository = repository or os.getenv("CI_PROJECT_NAME")
162
+ url = url or f"{os.getenv('CI_PROJECT_URL')}/-/tree/{commit_sha}"
163
+
164
+ if not message:
165
+ message = await get_commit_message_first_line()
166
+
167
+ if not commit_sha:
168
+ raise ValueError(
169
+ "commit_sha is required - must be provided or set in CI_COMMIT_SHA"
170
+ )
171
+ if not branch:
172
+ raise ValueError(
173
+ "branch is required - must be provided or set in CI_COMMIT_REF_NAME"
174
+ )
175
+ if not repository:
176
+ raise ValueError(
177
+ "repository is required - must be provided or set in CI_PROJECT_NAME"
178
+ )
179
+ if not url:
180
+ raise ValueError(
181
+ "url is required - must be provided or set in CI_PROJECT_URL"
182
+ )
183
+
184
+ except Exception as e:
185
+ raise ValueError(
186
+ f"Error getting git version info: {e}. You may not be in a Gitlab repository."
187
+ )
188
+
189
+ return GitlabVersionInfo(
190
+ type="vcs:gitlab",
191
+ version=commit_sha[:8],
192
+ commit_sha=commit_sha,
193
+ message=message,
194
+ branch=branch,
195
+ repository=repository,
196
+ url=url,
197
+ )
198
+
199
+
200
+ async def get_bitbucket_version_info(
201
+ commit_sha: Optional[str] = None,
202
+ message: Optional[str] = None,
203
+ branch: Optional[str] = None,
204
+ repository: Optional[str] = None,
205
+ url: Optional[str] = None,
206
+ ) -> BitbucketVersionInfo:
207
+ """Create a BitbucketVersionInfo object from provided values or environment variables.
208
+
209
+ Args:
210
+ commit_sha: The commit SHA, falls back to BITBUCKET_COMMIT env var
211
+ message: The commit message, falls back to git log -1 --pretty=%B
212
+ branch: The git branch, falls back to BITBUCKET_BRANCH env var
213
+ repository: The repository name, falls back to BITBUCKET_REPO_SLUG env var
214
+ url: The repository URL, constructed from BITBUCKET_GIT_HTTP_ORIGIN/BITBUCKET_REPO_SLUG/src/BITBUCKET_COMMIT if not provided
215
+
216
+ Returns:
217
+ A BitbucketVersionInfo
218
+
219
+ Raises:
220
+ ValueError: If any required fields cannot be determined
221
+ """
222
+ try:
223
+ commit_sha = commit_sha or os.getenv("BITBUCKET_COMMIT")
224
+ branch = branch or os.getenv("BITBUCKET_BRANCH")
225
+ repository = repository or os.getenv("BITBUCKET_REPO_SLUG")
226
+ url = url or f"{os.getenv('BITBUCKET_GIT_HTTP_ORIGIN')}/src/{commit_sha}"
227
+
228
+ if not message:
229
+ message = await get_commit_message_first_line()
230
+
231
+ if not commit_sha:
232
+ raise ValueError(
233
+ "commit_sha is required - must be provided or set in BITBUCKET_COMMIT"
234
+ )
235
+ if not branch:
236
+ raise ValueError(
237
+ "branch is required - must be provided or set in BITBUCKET_BRANCH"
238
+ )
239
+ if not repository:
240
+ raise ValueError(
241
+ "repository is required - must be provided or set in BITBUCKET_REPO_SLUG"
242
+ )
243
+ if not url:
244
+ raise ValueError(
245
+ "url is required - must be provided or set in BITBUCKET_GIT_HTTP_ORIGIN"
246
+ )
247
+
248
+ except Exception as e:
249
+ raise ValueError(
250
+ f"Error getting git version info: {e}. You may not be in a Bitbucket repository."
251
+ )
252
+
253
+ return BitbucketVersionInfo(
254
+ type="vcs:bitbucket",
255
+ version=commit_sha[:8],
256
+ commit_sha=commit_sha,
257
+ message=message,
258
+ branch=branch,
259
+ repository=repository,
260
+ url=url,
261
+ )
262
+
263
+
264
+ async def get_azuredevops_version_info(
265
+ commit_sha: Optional[str] = None,
266
+ message: Optional[str] = None,
267
+ branch: Optional[str] = None,
268
+ repository: Optional[str] = None,
269
+ url: Optional[str] = None,
270
+ ) -> AzureDevopsVersionInfo:
271
+ """Create an AzureDevopsVersionInfo object from provided values or environment variables.
272
+
273
+ Args:
274
+ commit_sha: The commit SHA, falls back to BUILD_SOURCEVERSION env var
275
+ message: The commit message, falls back to git log -1 --pretty=%B
276
+ branch: The git branch, falls back to BUILD_SOURCEBRANCHNAME env var
277
+ repository: The repository name, falls back to BUILD_REPOSITORY_NAME env var
278
+ url: The repository URL, constructed from BUILD_REPOSITORY_URI?version=GCBUILD_SOURCEVERSION if not provided
279
+
280
+ Returns:
281
+ An AzureDevopsVersionInfo
282
+
283
+ Raises:
284
+ ValueError: If any required fields cannot be determined
285
+ """
286
+ try:
287
+ commit_sha = commit_sha or os.getenv("BUILD_SOURCEVERSION")
288
+ branch = branch or os.getenv("BUILD_SOURCEBRANCHNAME")
289
+ repository = repository or os.getenv("BUILD_REPOSITORY_NAME")
290
+ url = url or f"{os.getenv('BUILD_REPOSITORY_URI')}?version=GC{commit_sha}"
291
+
292
+ if not message:
293
+ message = await get_commit_message_first_line()
294
+
295
+ if not commit_sha:
296
+ raise ValueError(
297
+ "commit_sha is required - must be provided or set in BUILD_SOURCEVERSION"
298
+ )
299
+ if not branch:
300
+ raise ValueError(
301
+ "branch is required - must be provided or set in BUILD_SOURCEBRANCHNAME"
302
+ )
303
+ if not repository:
304
+ raise ValueError(
305
+ "repository is required - must be provided or set in BUILD_REPOSITORY_NAME"
306
+ )
307
+ if not url:
308
+ raise ValueError(
309
+ "url is required - must be provided or set in BUILD_REPOSITORY_URI"
310
+ )
311
+
312
+ except Exception as e:
313
+ raise ValueError(
314
+ f"Error getting git version info: {e}. You may not be in an Azure DevOps repository."
315
+ )
316
+
317
+ return AzureDevopsVersionInfo(
318
+ type="vcs:azuredevops",
319
+ version=commit_sha[:8],
320
+ commit_sha=commit_sha,
321
+ message=message,
322
+ branch=branch,
323
+ repository=repository,
324
+ url=url,
325
+ )
326
+
327
+
328
+ async def get_git_version_info(
329
+ commit_sha: Optional[str] = None,
330
+ message: Optional[str] = None,
331
+ branch: Optional[str] = None,
332
+ url: Optional[str] = None,
333
+ repository: Optional[str] = None,
334
+ ) -> GitVersionInfo:
335
+ try:
336
+ if not commit_sha:
337
+ # Run git command and get stdout
338
+ result = await run_process(["git", "rev-parse", "HEAD"])
339
+ # Decode bytes to string and strip whitespace
340
+ commit_sha = result.stdout.decode().strip()
341
+
342
+ if not branch:
343
+ result = await run_process(["git", "rev-parse", "--abbrev-ref", "HEAD"])
344
+ branch = result.stdout.decode().strip()
345
+
346
+ if not repository:
347
+ result = await run_process(["git", "config", "--get", "remote.origin.url"])
348
+ remote_url = result.stdout.decode().strip()
349
+
350
+ # Extract just the repository name (last part of the path)
351
+ repo_url = urlparse(remote_url)
352
+ repository = repo_url.path.strip("/")
353
+ if repository.endswith(".git"):
354
+ repository = repository[:-4]
355
+
356
+ if not message:
357
+ message = await get_commit_message_first_line()
358
+
359
+ if not url and repository:
360
+ # Use the full remote URL as the URL
361
+ result = await run_process(["git", "config", "--get", "remote.origin.url"])
362
+ url = result.stdout.decode().strip()
363
+ except Exception as e:
364
+ raise ValueError(
365
+ f"Error getting git version info: {e}. You may not be in a git repository."
366
+ )
367
+
368
+ if not url:
369
+ raise ValueError("Could not determine git repository URL")
370
+
371
+ return GitVersionInfo(
372
+ type="vcs:git",
373
+ version=commit_sha[:8],
374
+ branch=branch,
375
+ url=url,
376
+ repository=repository,
377
+ commit_sha=commit_sha,
378
+ message=message,
379
+ )
380
+
381
+
382
+ class VersionType(str, Enum):
383
+ SIMPLE = "prefect:simple"
384
+ GITHUB = "vcs:github"
385
+ GITLAB = "vcs:gitlab"
386
+ BITBUCKET = "vcs:bitbucket"
387
+ AZUREDEVOPS = "vcs:azuredevops"
388
+ GIT = "vcs:git"
389
+
390
+
391
+ async def get_inferred_version_info(
392
+ version_type: Optional[str] = None,
393
+ ) -> VersionInfo | None:
394
+ """
395
+ Attempts to infer version information from the environment.
396
+
397
+ Args:
398
+ version_type: Optional type of version info to get. If provided, only that
399
+ type will be attempted.
400
+
401
+ Returns:
402
+ VersionInfo: The inferred version information
403
+
404
+ Raises:
405
+ ValueError: If unable to infer version info from any source
406
+ """
407
+ # Map version types to their getter functions
408
+ type_to_getter: Dict[str, Callable[..., Coroutine[Any, Any, Any]]] = {
409
+ VersionType.GITHUB: get_github_version_info,
410
+ VersionType.GITLAB: get_gitlab_version_info,
411
+ VersionType.BITBUCKET: get_bitbucket_version_info,
412
+ VersionType.AZUREDEVOPS: get_azuredevops_version_info,
413
+ VersionType.GIT: get_git_version_info,
414
+ }
415
+
416
+ # Default order of getters to try
417
+ default_getters = [
418
+ get_github_version_info,
419
+ get_gitlab_version_info,
420
+ get_bitbucket_version_info,
421
+ get_azuredevops_version_info,
422
+ get_git_version_info,
423
+ ]
424
+
425
+ if version_type:
426
+ if version_type not in type_to_getter:
427
+ raise ValueError(f"Unknown version type: {version_type}")
428
+ getters = [type_to_getter[version_type]]
429
+ else:
430
+ getters = default_getters
431
+
432
+ for getter in getters:
433
+ try:
434
+ return await getter()
435
+ except ValueError:
436
+ continue
437
+
438
+ return None
@@ -141,7 +141,10 @@ async def wait_for_flow_run(
141
141
  return flow_run
142
142
 
143
143
  async for event in subscriber:
144
- state_type = StateType(event.resource["prefect.state-type"])
144
+ if not (state_type := event.resource.get("prefect.state-type")):
145
+ logger.debug(f"Received {event.event!r} event")
146
+ continue
147
+ state_type = StateType(state_type)
145
148
  state = State(type=state_type)
146
149
 
147
150
  if log_states:
@@ -1,5 +0,0 @@
1
- # Generated by versioningit
2
- __version__ = "3.3.7"
3
- __build_date__ = "2025-04-28 15:03:08.716974+00:00"
4
- __git_commit__ = "8f86aaeee460bab1184336bf2f9cf62fef73d7bb"
5
- __dirty__ = False
@@ -1,180 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import os
4
- from enum import Enum
5
- from typing import Any, Callable, Coroutine, Dict, Literal, Optional
6
- from urllib.parse import urlparse
7
-
8
- from anyio import run_process
9
- from pydantic import Field, model_validator
10
-
11
- from prefect.client.schemas.objects import VersionInfo
12
-
13
-
14
- class SimpleVersionInfo(VersionInfo):
15
- type: Literal["prefect:simple"] = "prefect:simple"
16
- version: str = Field(default="")
17
- branch: Optional[str] = Field(default=None)
18
- url: Optional[str] = Field(default=None)
19
-
20
-
21
- class GithubVersionInfo(VersionInfo):
22
- type: Literal["vcs:github"] = "vcs:github"
23
- version: str
24
- branch: str
25
- url: str
26
- repository: str
27
-
28
- @model_validator(mode="after")
29
- def validate_branch(self):
30
- if not self.branch:
31
- raise ValueError("branch is required when type is 'vcs:github'")
32
- return self
33
-
34
-
35
- class GitVersionInfo(VersionInfo):
36
- type: Literal["vcs:git"] = "vcs:git"
37
- version: str
38
- branch: str
39
- url: str
40
- repository: str
41
-
42
-
43
- async def get_github_version_info(
44
- version: Optional[str] = None,
45
- branch: Optional[str] = None,
46
- repository: Optional[str] = None,
47
- url: Optional[str] = None,
48
- ) -> GithubVersionInfo:
49
- """Create a GithubVersionInfo object from provided values or environment variables.
50
-
51
- Args:
52
- version: The commit SHA, falls back to GITHUB_SHA env var
53
- branch: The git branch, falls back to GITHUB_REF_NAME env var
54
- repository: The repository name, falls back to GITHUB_REPOSITORY env var
55
- url: The repository URL, constructed from GITHUB_SERVER_URL/GITHUB_REPOSITORY if not provided
56
-
57
- Returns:
58
- A GithubVersionInfo
59
-
60
- Raises:
61
- ValueError: If any required fields cannot be determined
62
- """
63
- version = version or os.getenv("GITHUB_SHA")
64
- branch = branch or os.getenv("GITHUB_REF_NAME")
65
- repository = repository or os.getenv("GITHUB_REPOSITORY")
66
- url = url or f"{os.getenv('GITHUB_SERVER_URL')}/{repository}"
67
-
68
- if not version:
69
- raise ValueError("version is required - must be provided or set in GITHUB_SHA")
70
- if not branch:
71
- raise ValueError(
72
- "branch is required - must be provided or set in GITHUB_REF_NAME"
73
- )
74
- if not repository:
75
- raise ValueError(
76
- "repository is required - must be provided or set in GITHUB_REPOSITORY"
77
- )
78
-
79
- return GithubVersionInfo(
80
- type="vcs:github",
81
- version=version,
82
- branch=branch,
83
- repository=repository,
84
- url=url,
85
- )
86
-
87
-
88
- async def get_git_version_info(
89
- version: Optional[str] = None,
90
- branch: Optional[str] = None,
91
- url: Optional[str] = None,
92
- repository: Optional[str] = None,
93
- ) -> GitVersionInfo:
94
- try:
95
- if not version:
96
- # Run git command and get stdout
97
- result = await run_process(["git", "rev-parse", "HEAD"])
98
- # Decode bytes to string and strip whitespace
99
- version = result.stdout.decode().strip()
100
-
101
- if not branch:
102
- result = await run_process(["git", "rev-parse", "--abbrev-ref", "HEAD"])
103
- branch = result.stdout.decode().strip()
104
-
105
- if not repository:
106
- result = await run_process(["git", "config", "--get", "remote.origin.url"])
107
- remote_url = result.stdout.decode().strip()
108
-
109
- # Extract just the repository name (last part of the path)
110
- repo_url = urlparse(remote_url)
111
- repository = repo_url.path.strip("/")
112
- if repository.endswith(".git"):
113
- repository = repository[:-4]
114
-
115
- if not url and repository:
116
- # Use the full remote URL as the URL
117
- result = await run_process(["git", "config", "--get", "remote.origin.url"])
118
- url = result.stdout.decode().strip()
119
- except Exception as e:
120
- raise ValueError(
121
- f"Error getting git version info: {e}. You may not be in a git repository."
122
- )
123
-
124
- if not url:
125
- raise ValueError("Could not determine git repository URL")
126
-
127
- return GitVersionInfo(
128
- type="vcs:git", version=version, branch=branch, url=url, repository=repository
129
- )
130
-
131
-
132
- class VersionType(str, Enum):
133
- SIMPLE = "prefect:simple"
134
- GITHUB = "vcs:github"
135
- GIT = "vcs:git"
136
- DOCKER = "container:docker"
137
-
138
-
139
- async def get_inferred_version_info(
140
- version_type: Optional[str] = None,
141
- ) -> VersionInfo | None:
142
- """
143
- Attempts to infer version information from the environment.
144
-
145
- Args:
146
- version_type: Optional type of version info to get. If provided, only that
147
- type will be attempted.
148
-
149
- Returns:
150
- VersionInfo: The inferred version information
151
-
152
- Raises:
153
- ValueError: If unable to infer version info from any source
154
- """
155
- # Map version types to their getter functions
156
- type_to_getter: Dict[str, Callable[..., Coroutine[Any, Any, Any]]] = {
157
- VersionType.GITHUB: get_github_version_info,
158
- VersionType.GIT: get_git_version_info,
159
- }
160
-
161
- # Default order of getters to try
162
- default_getters = [
163
- get_github_version_info,
164
- get_git_version_info,
165
- ]
166
-
167
- if version_type:
168
- if version_type not in type_to_getter:
169
- raise ValueError(f"Unknown version type: {version_type}")
170
- getters = [type_to_getter[version_type]]
171
- else:
172
- getters = default_getters
173
-
174
- for getter in getters:
175
- try:
176
- return await getter()
177
- except ValueError:
178
- continue
179
-
180
- return None